All pastes #708192 Raw Edit

Unbenannt

public text v1 · immutable
#708192 ·published 2007-09-23 17:20 UTC
rendered paste body
From 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