X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;ds=sidebyside;f=include%2Fbabeltrace%2Fplugin%2Fcomponent-factory-internal.h;h=7aed5806bc4154ff1a2f4a1f0bfafbc9f7498678;hb=732995546409a6d6c279acbcd44d3dbc4a1a3195;hp=3149bad3529b231ed847a58530a8bedf2cf5ddf4;hpb=f3e4505ba1b7bacce5fc1cc942f4cfaa905b4e74;p=babeltrace.git diff --git a/include/babeltrace/plugin/component-factory-internal.h b/include/babeltrace/plugin/component-factory-internal.h index 3149bad3..7aed5806 100644 --- a/include/babeltrace/plugin/component-factory-internal.h +++ b/include/babeltrace/plugin/component-factory-internal.h @@ -31,30 +31,40 @@ #include #include #include +#include #include #include -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 */