Move initialization of components to init functions
[babeltrace.git] / plugins / component.c
index 6036fd501ec39020ff67d63d64b1f178dee5f6cb..7dbdaaae0c04e3467fa52c47e0412bb79c84e21e 100644 (file)
@@ -26,6 +26,7 @@
  * SOFTWARE.
  */
 
+#include <babeltrace/plugin/component.h>
 #include <babeltrace/plugin/component-internal.h>
 #include <babeltrace/babeltrace-internal.h>
 #include <babeltrace/compiler.h>
@@ -107,37 +108,32 @@ void bt_component_put(struct bt_component *component)
 }
 
 BT_HIDDEN
-enum bt_component_status bt_component_init(struct bt_component *component, const char *name,
-               void *user_data, bt_component_destroy_cb user_destroy_func,
-               enum bt_component_type component_type,
-               bt_component_destroy_cb component_destroy)
+enum bt_component_status bt_component_init(struct bt_component *component,
+               const char *name, enum bt_component_type component_type,
+               bt_component_destroy_cb destroy)
 {
        enum bt_component_status ret = BT_COMPONENT_STATUS_OK;
 
-       if (!component || !name || name[0] == '\0' ||
-               !user_destroy_func || !user_data || !component_destroy) {
+       if (!component || !name || name[0] == '\0' || destroy) {
                ret = BT_COMPONENT_STATUS_INVAL;
                goto end;
        }
 
        bt_ctf_ref_init(&component->ref_count);
        component->type = component_type;
-       component->user_data = user_data;
-       component->user_data_destroy = user_destroy_func;
-       component->destroy = component_destroy;
-
        component->name = g_string_new(name);
        if (!component->name) {
                ret = BT_COMPONENT_STATUS_NOMEM;
                goto end;
        }
+       component->destroy = destroy;
 end:
        return ret;
 }
 
 void *bt_component_get_private_data(struct bt_component *component)
 {
-        void *ret = NULL;
+       void *ret = NULL;
 
        if (!component) {
                goto end;
@@ -179,8 +175,8 @@ void bt_component_destroy(struct bt_ctf_ref *ref)
         * User data is destroyed first, followed by the concrete component
         * instance.
         */
-       assert(!component->user_data || component->user_data_destroy);
-       component->user_data_destroy(component->user_data);
+       assert(!component->user_data || component->user_destroy);
+       component->user_destroy(component->user_data);
 
        g_string_free(component->name, TRUE);
 
This page took 0.025094 seconds and 4 git commands to generate.