From 0f5130d2bc8dbea86734370c53860e126c56718a Mon Sep 17 00:00:00 2001 From: Danny Baumann Date: Sun, 23 Sep 2007 14:31:28 +0200 Subject: [PATCH] Add metadata handling. --- session.c | 19 ++++++++++++++++++- 1 files changed, 18 insertions(+), 1 deletions(-) diff --git a/session.c b/session.c index 4e14d71..5e05840 100644 --- a/session.c +++ b/session.c @@ -49,6 +49,7 @@ static char *smClientId; static void iceInit (void); static int displayPrivateIndex; +static CompMetadata sessionMetadata; typedef void (* SessionWindowFunc) (CompWindow *w, char *clientId, char *name, void *user_data); @@ -725,9 +726,18 @@ iceInit (void) static int sessionInit (CompPlugin *p) { + if (!compInitPluginMetadataFromInfo (&sessionMetadata, p->vTable->name, + 0, 0, 0, 0)) + return FALSE; + displayPrivateIndex = allocateDisplayPrivateIndex (); if (displayPrivateIndex < 0) + { + compFiniMetadata (&sessionMetadata); return FALSE; + } + + compAddMetadataFromFile (&sessionMetadata, p->vTable->name); return TRUE; } @@ -736,6 +746,7 @@ static void sessionFini (CompPlugin *p) { freeDisplayPrivateIndex(displayPrivateIndex); + compFiniMetadata (&sessionMetadata); } static int @@ -815,10 +826,16 @@ sessionFiniObject (CompPlugin *p, DISPATCH (o, dispTab, ARRAY_SIZE (dispTab), (p, o)); } +static CompMetadata * +sessionGetMetadata (CompPlugin *plugin) +{ + return &sessionMetadata; +} + static CompPluginVTable sessionVTable = { "session", - 0, + sessionGetMetadata, sessionInit, sessionFini, sessionInitObject, -- 1.5.2.4