Make component class destructor optional
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 25 Feb 2016 17:28:51 +0000 (12:28 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Sat, 27 May 2017 16:57:26 +0000 (12:57 -0400)
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
lib/plugin-system/component.c
lib/plugin-system/sink.c
lib/plugin-system/source.c

index 16bc28680cd9df654669d2467c7f91bab5e90d6f..5b424cd848bf85725cbc7963f59d2304d8a0c7ef 100644 (file)
@@ -59,8 +59,6 @@ void bt_component_destroy(struct bt_object *obj)
        }
 
        component = container_of(obj, struct bt_component, base);
-
-       assert(component->destroy);
        component_class = component->class;
 
        /*
@@ -71,7 +69,10 @@ void bt_component_destroy(struct bt_object *obj)
                component->user_destroy(component->user_data);
        }
 
-       component->destroy(component);
+       if (component->destroy) {
+               component->destroy(component);
+       }
+
        g_string_free(component->name, TRUE);
        bt_put(component_class);
        g_free(component);
@@ -83,7 +84,7 @@ enum bt_component_status bt_component_init(struct bt_component *component,
 {
        enum bt_component_status ret = BT_COMPONENT_STATUS_OK;
 
-       if (!component || !destroy) {
+       if (!component) {
                ret = BT_COMPONENT_STATUS_INVALID;
                goto end;
        }
index e37105b1b60713ae942e1ca8fb2ed3699da3c30e..33295286d67ec87fdcd9561ff9c7a74ca0732a18 100644 (file)
 #include <babeltrace/plugin/component-internal.h>
 #include <babeltrace/plugin/notification/notification.h>
 
-static
-void bt_component_sink_destroy(struct bt_component *component)
-{
-       return;
-}
-
 BT_HIDDEN
 enum bt_component_status bt_component_sink_validate(
                struct bt_component *component)
index ed3b1642b56c2d76e5b8032771acdfa0a67009c0..e4915a98875cc3f68eb7e914170e7509af418667 100644 (file)
 #include <babeltrace/plugin/notification/iterator.h>
 #include <babeltrace/plugin/notification/iterator-internal.h>
 
-static
-void bt_component_source_destroy(struct bt_component *component)
-{
-       return;
-}
-
 BT_HIDDEN
 enum bt_component_status bt_component_source_validate(
                struct bt_component *component)
This page took 0.027837 seconds and 4 git commands to generate.