Code

plugin: Make sdb_plugin_info_t public.
[sysdb.git] / src / include / core / plugin.h
index 51d59051e5768ee5e73cb848b216876fadf1238c..e6ea7573cf15a0514c939c754eed48ae16c10964 100644 (file)
@@ -45,8 +45,22 @@ typedef struct {
 } sdb_plugin_ctx_t;
 #define SDB_PLUGIN_CTX_INIT { 0 }
 
 } sdb_plugin_ctx_t;
 #define SDB_PLUGIN_CTX_INIT { 0 }
 
-struct sdb_plugin_info;
-typedef struct sdb_plugin_info sdb_plugin_info_t;
+typedef struct {
+       char *plugin_name;
+       char *filename;
+
+       /* public attributes */
+       char *description;
+       char *copyright;
+       char *license;
+
+       int   version;
+       int   plugin_version;
+} sdb_plugin_info_t;
+#define SDB_PLUGIN_INFO_INIT { \
+       /* plugin_name */ NULL, /* filename */ NULL, /* desc */ NULL, \
+       /* copyright */ NULL, /* license */ NULL, \
+       /* version */ -1, /* plugin_version */ -1 }
 
 /* this should be used in the header of a plugin to avoid
  * missing prototype warnings/errors for the plugin init
 
 /* this should be used in the header of a plugin to avoid
  * missing prototype warnings/errors for the plugin init
@@ -78,7 +92,6 @@ sdb_plugin_load(const char *basedir, const char *name,
  * and also to provide additional information to the user.
  */
 enum {
  * and also to provide additional information to the user.
  */
 enum {
-       SDB_PLUGIN_INFO_NAME,          /* plugin name: string */
        SDB_PLUGIN_INFO_DESC,          /* plugin description: string */
        SDB_PLUGIN_INFO_COPYRIGHT,     /* plugin copyright: string */
        SDB_PLUGIN_INFO_LICENSE,       /* plugin license: string */
        SDB_PLUGIN_INFO_DESC,          /* plugin description: string */
        SDB_PLUGIN_INFO_COPYRIGHT,     /* plugin copyright: string */
        SDB_PLUGIN_INFO_LICENSE,       /* plugin license: string */
@@ -93,6 +106,9 @@ sdb_plugin_set_info(sdb_plugin_info_t *info, int type, ...);
  * plugin callback functions:
  * See the description of the respective register function for what arguments
  * the callbacks expect.
  * plugin callback functions:
  * See the description of the respective register function for what arguments
  * the callbacks expect.
+ *
+ * The specified name of callback functions is prepended with the plugin name
+ * before being registered with the core.
  */
 
 typedef int (*sdb_plugin_config_cb)(oconfig_item_t *ci);
  */
 
 typedef int (*sdb_plugin_config_cb)(oconfig_item_t *ci);