#include <babeltrace/compiler-internal.h>
#include <babeltrace/graph/component-class-internal.h>
#include <babeltrace/ref.h>
-#include <stdbool.h>
+#include <babeltrace/types.h>
#include <glib.h>
static
return ret;
}
+int bt_component_class_set_port_connected_method(
+ struct bt_component_class *component_class,
+ bt_component_class_port_connected_method method)
+{
+ int ret = 0;
+
+ if (!component_class || component_class->frozen || !method) {
+ ret = -1;
+ goto end;
+ }
+
+ component_class->methods.port_connected = method;
+
+end:
+ return ret;
+}
+
int bt_component_class_set_port_disconnected_method(
struct bt_component_class *component_class,
bt_component_class_port_disconnected_method method)
}
BT_HIDDEN
-int bt_component_class_add_destroy_listener(struct bt_component_class *class,
+void bt_component_class_add_destroy_listener(struct bt_component_class *class,
bt_component_class_destroy_listener_func func, void *data)
{
- int ret = 0;
struct bt_component_class_destroy_listener listener;
- if (!class || class->frozen || !func) {
- ret = -1;
- goto end;
- }
-
+ assert(class);
+ assert(func);
listener.func = func;
listener.data = data;
g_array_append_val(class->destroy_listeners, listener);
-
-end:
- return ret;
}
int bt_component_class_freeze(
goto end;
}
- component_class->frozen = true;
+ component_class->frozen = BT_TRUE;
end:
return ret;