More modifications
[babeltrace.git] / include / babeltrace / plugin / plugin-internal.h
index d6bbbd3f766e7e9a59e172086c8a22dffc96afe2..3fc85c858c90b905e5a40531960cfb4308f729b1 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef BABELTRACE_PLUGIN_INTERNAL_H
-#define BABELTRACE_PLUGIN_INTERNAL_H
+#ifndef BABELTRACE_PLUGIN_COMPONENT_INTERNAL_H
+#define BABELTRACE_PLUGIN_COMPONENT_INTERNAL_H
 
 /*
- * BabelTrace - Plug-in internal
+ * BabelTrace - Component internal
  *
  * Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
  *
  * SOFTWARE.
  */
 
-#include <stdint.h>
+#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 <glib.h>
+#include <stdio.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -35,13 +41,27 @@ extern "C" {
 
 struct bt_notification;
 
-struct bt_plugin {
-       const char * name;
+struct bt_component {
+       struct bt_ctf_ref ref_count;
+       GString *name;
        enum bt_plugin_type type;
+       /** No ownership taken */
+       FILE *error_stream;
+
+       void *user_data;
+       bt_plugin_destroy_cb user_data_destroy;
+       bt_plugin_destroy_cb 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
 
-#endif /* BABELTRACE_PLUGIN_INTERNAL_H */
+#endif /* BABELTRACE_PLUGIN_COMPONENT_INTERNAL_H */
This page took 0.024537 seconds and 4 git commands to generate.