[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.orgDate: Mon Dec 18 16:37:57 EET 2006
- Previous message: [maemo-commits] r8802 - projects/haf/tags/glib2.0
- Next message: [maemo-commits] r8804 - in projects/haf/trunk/libsdl1.2: debian src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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__*/
- Previous message: [maemo-commits] r8802 - projects/haf/tags/glib2.0
- Next message: [maemo-commits] r8804 - in projects/haf/trunk/libsdl1.2: debian src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]