[maemo-commits] [maemo-commits] r8803 - in projects/haf/branches/maemo-af-desktop/hildon-desktop: . libhildondesktop

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon Dec 18 16:37:57 EET 2006
Author: lucasr
Date: 2006-12-18 16:37:55 +0200 (Mon, 18 Dec 2006)
New Revision: 8803

Modified:
   projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog
   projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-plugin.h
   projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/libhildondesktop.h
Log:
2006-12-18  Lucas Rocha  <lucas.rocha at nokia.com>

	* libhildondesktop/hildon-desktop-plugin.h,
	libhildondesktop/libhildondesktop.h: fixes on macros for plugin type
	definitions.


Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog	2006-12-18 13:59:59 UTC (rev 8802)
+++ projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog	2006-12-18 14:37:55 UTC (rev 8803)
@@ -1,3 +1,9 @@
+2006-12-18  Lucas Rocha  <lucas.rocha at nokia.com>
+
+	* libhildondesktop/hildon-desktop-plugin.h,
+	libhildondesktop/libhildondesktop.h: fixes on macros for plugin type
+	definitions.
+
 2006-12-18  Johan Bilien  <johan.bilien at nokia.com>
 
 	* libhildondesktop/hildon-home-window.c:

Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-plugin.h
===================================================================
--- projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-plugin.h	2006-12-18 13:59:59 UTC (rev 8802)
+++ projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-plugin.h	2006-12-18 14:37:55 UTC (rev 8803)
@@ -64,61 +64,17 @@
 void                   hildon_desktop_plugin_add_type     (HildonDesktopPlugin *plugin, 
                                                            GType                type);
 
-#define HILDON_DESKTOP_PLUGIN_REGISTER_TYPE (PluginName, plugin_name, PARENT_TYPE) 	\
-											\
-static GType type = 0;									\
-											\
-GType											\
-plugin_name##_get_type (void)								\
+#define HILDON_DESKTOP_PLUGIN_SYMBOLS(t_n)					 	\
+G_MODULE_EXPORT void hildon_desktop_plugin_load (HildonDesktopPlugin *plugin);	 	\
+void hildon_desktop_plugin_load (HildonDesktopPlugin *plugin)			 	\
 {											\
-  return type;										\
-}											\
-											\
-static void plugin_name##_init (PluginName *self);					\
-static void plugin_name##_class_init (PluginName##Class *klass);			\
-static gpointer plugin_name##_parent_class = NULL;					\
-											\
-static void plugin_name##_class_intern_init (gpointer klass)				\
-{											\
-  plugin_name##_parent_class = g_type_class_peek_parent (klass);			\
-  plugin_name##_class_init ((PluginName##Class *) klass);				\
-}											\
-											\
-G_MODULE_EXPORT void									\
-hildon_desktop_plugin_load (HildonDesktopPlugin *plugin);				\
-G_MODULE_EXPORT void									\
-hildon_desktop_plugin_load (HildonDesktopPlugin *plugin)				\
-{											\
-  static const GTypeInfo info =								\
-  {											\
-    sizeof (PluginName##Class),								\
-    NULL, /* base_init */								\
-    NULL, /* base_finalize */								\
-    (GClassInitFunc) plugin_name##_class_intern_init,					\
-    NULL,										\
-    NULL, /* class_data */								\
-    sizeof (PluginName),								\
-    0, /* n_preallocs */								\
-    (GInstanceInitFunc) plugin_name##_init						\
-  };											\
-  											\
-  type = g_type_module_register_type (G_TYPE_MODULE (plugin),				\
-                                      PARENT_TYPE,					\
-                                      #PluginName,					\
-                                      &info,						\
-                                      0);						\
-  											\
-  hildon_desktop_plugin_add_type (plugin, type);					\
-}											\
-											\
-G_MODULE_EXPORT void									\
-hildon_desktop_plugin_unload (HildonDesktopPlugin *plugin); 				\
-G_MODULE_EXPORT void									\
-hildon_desktop_plugin_unload (HildonDesktopPlugin *plugin) 				\
-{ 											\
+  hildon_desktop_plugin_add_type (plugin, t_n##_register_type(G_TYPE_MODULE (plugin)));	\
+}										 	\
+G_MODULE_EXPORT void hildon_desktop_plugin_unload (HildonDesktopPlugin *plugin); 	\
+void hildon_desktop_plugin_unload (HildonDesktopPlugin *plugin)			 	\
+{										 	\
 }
 
-
 G_END_DECLS
 
 #endif /*__HILDON_DESKTOP_PLUGIN_H__*/

Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/libhildondesktop.h
===================================================================
--- projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/libhildondesktop.h	2006-12-18 13:59:59 UTC (rev 8802)
+++ projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/libhildondesktop.h	2006-12-18 14:37:55 UTC (rev 8803)
@@ -31,6 +31,7 @@
 #include <libhildondesktop/desktop-multiscreen.h>
 #include <libhildondesktop/hildon-desktop-item.h>
 #include <libhildondesktop/hildon-desktop-panel-item.h>
+#include <libhildondesktop/hildon-desktop-plugin.h>
 #include <libhildondesktop/statusbar-item-wrapper.h> 
 #include <libhildondesktop/statusbar-item.h>
 #include <libhildondesktop/statusbar-item-socket.h>
@@ -41,46 +42,59 @@
 #include <libhildondesktop/hildon-home-applet.h>
 #include <libhildondesktop/hildon-home-area.h>
 
-#define HD_DEFINE_PLUGIN(TN, t_n, T_P)
+#define HD_DEFINE_PLUGIN(TN, t_n, T_P)			\
+HD_DEFINE_TYPE_MODULE_EXTENDED (TN, t_n, T_P, 0, {})	\
+HILDON_DESKTOP_PLUGIN_SYMBOLS (t_n)
 
-#define HD_DEFINE_TYPE(TN, t_n, T_P) HD_DEFINE_TYPE_MODULE_EXTENDED (TN, t_n, T_P, 0, {})
-
-#define HD_DEFINE_TYPE_MODULE_EXTENDED(TypeName, type_name, TYPE_PARENT, flags, CODE) \
-\
-static GType    type_name##_type_id = 0; \
-static void     type_name##_init              (TypeName        *self); \
-static void     type_name##_class_init        (TypeName##Class *klass); \
-static gpointer type_name##_parent_class = NULL; \
-static void     type_name##_class_intern_init (gpointer klass) \
-{ \
-  type_name##_parent_class = g_type_class_peek_parent (klass); \
-  type_name##_class_init ((TypeName##Class*) klass); \
-} \
-\
-GType \
-type_name##_get_type (GTypeModule *module) \
-{ \
-  if (G_UNLIKELY (type_name##_type_id == 0)) \
-  { \
-    static const GTypeInfo g_define_type_info = \
-    { \
-      sizeof (TypeName##Class), \
-      (GBaseInitFunc) NULL, \
-      (GBaseFinalizeFunc) NULL, \
-      (GClassInitFunc) type_name##_class_intern_init, \
-      (GClassFinalizeFunc) NULL, \
-      NULL,   /* class_data */ \
-      sizeof (TypeName), \
-      0,      /* n_preallocs */ \
-      (GInstanceInitFunc) type_name##_init, \
-      NULL    /* value_table */ \
-    }; \
-      g_define_type_id = \
-	g_type_module_register_type (module, TYPE_PARENT, g_intern_static_string (#TypeName), &g_define_type_info, (GTypeFlags) flags); \
-      { CODE ; } \
-  } \
-  return g_define_type_id; \
+#define HD_DEFINE_TYPE_MODULE_EXTENDED(TypeName, type_name, TYPE_PARENT, flags, CODE)	\
+											\
+static GType    type_name##_type_id = 0;                                              	\
+											\
+static void     type_name##_init (TypeName *self); 					\
+static void     type_name##_class_init (TypeName##Class *klass); 			\
+static gpointer type_name##_parent_class = NULL; 					\
+											\
+static void     type_name##_class_intern_init (gpointer klass) 				\
+{ 											\
+  type_name##_parent_class = g_type_class_peek_parent (klass); 				\
+  type_name##_class_init ((TypeName##Class*) klass); 					\
+} 											\
+											\
+GType 											\
+type_name##_get_type (void) 								\
+{ 											\
+  return type_name##_type_id;								\
+}											\
+											\
+static GType 										\
+type_name##_register_type (GTypeModule *module) 					\
+{ 											\
+  if (G_UNLIKELY (type_name##_type_id == 0)) 						\
+  { 											\
+    static const GTypeInfo g_define_type_info = 					\
+    { 											\
+      sizeof (TypeName##Class), 							\
+      (GBaseInitFunc) NULL, 								\
+      (GBaseFinalizeFunc) NULL, 							\
+      (GClassInitFunc) type_name##_class_intern_init, 					\
+      (GClassFinalizeFunc) NULL, 							\
+      NULL,   /* class_data */ 								\
+      sizeof (TypeName), 								\
+      0,      /* n_preallocs */ 							\
+      (GInstanceInitFunc) type_name##_init, 						\
+      NULL    /* value_table */ 							\
+    }; 											\
+											\
+    type_name##_type_id = 								\
+	g_type_module_register_type (module, 						\
+                                     TYPE_PARENT, 					\
+                                     #TypeName, 					\
+                                     &g_define_type_info, 				\
+                                     (GTypeFlags) flags); 				\
+    { CODE ; } 										\
+  } 											\
+											\
+  return type_name##_type_id; 								\
 }
 
-#endif/*__LIBDESKTOP_H__*/
-
+#endif /*__LIBDESKTOP_H__*/


More information about the maemo-commits mailing list