rendered paste bodyFrom 0f5130d2bc8dbea86734370c53860e126c56718a Mon Sep 17 00:00:00 2001
From: Danny Baumann <dannybaumann@web.de>
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