Introduce bt_plugin and bt_component_class
[babeltrace.git] / include / babeltrace / plugin / component-internal.h
index 6c8689aaabd5cd2dfd781bd2bdac35b3f31bd439..7a9361feb2545f63ec38f2e83b7249fa8372ed86 100644 (file)
  */
 
 #include <babeltrace/babeltrace-internal.h>
-#include <babeltrace/plugin/plugin.h>
-#include <babeltrace/plugin/component.h>
 #include <babeltrace/plugin/plugin-system.h>
-#include <babeltrace/ctf-writer/ref-internal.h>
+#include <babeltrace/plugin/component.h>
+#include <babeltrace/plugin/component-class-internal.h>
+#include <babeltrace/ref-internal.h>
 #include <glib.h>
 #include <stdio.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct bt_notification;
-
 struct bt_component {
-       struct bt_ctf_ref ref_count;
+       struct bt_ref ref;
+       struct bt_component_class *class;
        GString *name;
-       enum bt_component_type type;
        /** No ownership taken */
        FILE *error_stream;
+       /** source, sink or filter destroy */
+       bt_component_destroy_cb destroy;
 
        void *user_data;
-       bt_component_destroy_cb user_data_destroy;
-       bt_component_destroy_cb destroy;
+       bt_component_destroy_cb user_destroy;
 };
 
 BT_HIDDEN
-enum bt_component_status bt_component_init(struct bt_component *plugin,
-               const char *name, void *user_data,
-               bt_component_destroy_cb destroy_func,
-               enum bt_component_type component_type,
-               bt_component_destroy_cb component_destroy);
-
-#ifdef __cplusplus
-}
-#endif
+enum bt_component_status bt_component_init(struct bt_component *component,
+               struct bt_component_class *class, const char *name,
+               bt_component_destroy_cb destroy);
 
 #endif /* BABELTRACE_PLUGIN_COMPONENT_INTERNAL_H */
This page took 0.025768 seconds and 4 git commands to generate.