Add initial steps for builtin plugins
authorMarcel Holtmann <marcel@holtmann.org>
Thu, 23 Apr 2009 11:59:01 +0000 (12:59 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Thu, 23 Apr 2009 11:59:01 +0000 (12:59 +0100)
include/plugin.h
src/plugin.c

index 086786c..21ecd0e 100644 (file)
@@ -78,12 +78,21 @@ struct connman_plugin_desc {
  *                                     example_init, example_exit)
  * ]|
  */
  *                                     example_init, example_exit)
  * ]|
  */
+#ifdef CONNMAN_PLUGIN_BUILTIN
+#define CONNMAN_PLUGIN_DEFINE(name, description, version, priority, init, exit) \
+               extern struct connman_plugin_desc connman_builtin_ ## name \
+                               __attribute__ ((visibility("default"))); \
+               struct connman_plugin_desc connman_builtin_ ## name = { \
+                       #name, description, version, priority, init, exit \
+               };
+#else
 #define CONNMAN_PLUGIN_DEFINE(name, description, version, priority, init, exit) \
                extern struct connman_plugin_desc connman_plugin_desc \
                                __attribute__ ((visibility("default"))); \
                struct connman_plugin_desc connman_plugin_desc = { \
                        #name, description, version, priority, init, exit \
                };
 #define CONNMAN_PLUGIN_DEFINE(name, description, version, priority, init, exit) \
                extern struct connman_plugin_desc connman_plugin_desc \
                                __attribute__ ((visibility("default"))); \
                struct connman_plugin_desc connman_plugin_desc = { \
                        #name, description, version, priority, init, exit \
                };
+#endif
 
 #ifdef __cplusplus
 }
 
 #ifdef __cplusplus
 }
index 1b57365..36e816b 100644 (file)
 
 #include <glib.h>
 
 
 #include <glib.h>
 
+#ifdef CONNMAN_PLUGIN_BUILTIN
+#undef CONNMAN_PLUGIN_BUILTIN
+#endif
+
 #include "connman.h"
 
 static GSList *plugins = NULL;
 #include "connman.h"
 
 static GSList *plugins = NULL;