Load plugins and components
[babeltrace.git] / include / babeltrace / plugin / component-factory-internal.h
index 3149bad3529b231ed847a58530a8bedf2cf5ddf4..7aed5806bc4154ff1a2f4a1f0bfafbc9f7498678 100644 (file)
 #include <babeltrace/plugin/component-factory.h>
 #include <babeltrace/plugin/component.h>
 #include <babeltrace/plugin/plugin-system.h>
+#include <babeltrace/plugin/plugin.h>
 #include <glib.h>
 #include <gmodule.h>
 
-struct component_entry {
+struct component_class {
        enum bt_component_type type;
        GString *name;
 };
 
-struct source_component_entry {
-       struct component_entry parent;
+struct source_component_class {
+       struct component_class parent;
        bt_component_source_init_cb init;
        
 };
 
-struct sink_component_entry {
-       struct component_entry parent;
+struct sink_component_class {
+       struct component_class parent;
        bt_component_sink_init_cb init;
 };
 
-struct bt_component_factory {
-       /** Array of GModule pointers */
-       GPtrArray *modules;
-       /** Array of pointers to struct component_entry */
+struct plugin {
+       const char *name;
+       const char *author;
+       const char *license;
+        bt_plugin_init_func init;
+       bt_plugin_init_func exit;
+       GModule *module;
+       /** Array of pointers to struct component_class */
        GPtrArray *components;
 };
 
+struct bt_component_factory {
+       /** Array of pointers to struct plugin */
+       GPtrArray *plugins;
+};
+
 #endif /* BABELTRACE_PLUGIN_COMPONENT_FACTORY_INTERNAL_H */
This page took 0.023217 seconds and 4 git commands to generate.