* SOFTWARE.
*/
+#include <babeltrace/ref.h>
#include <babeltrace/compiler.h>
#include <babeltrace/plugin/source-internal.h>
#include <babeltrace/plugin/component-internal.h>
static
void bt_component_source_destroy(struct bt_component *component)
{
- struct bt_component_source *source;
-
- if (!component) {
- return;
- }
+ return;
+}
- source = container_of(component, struct bt_component_source, parent);
- g_free(source);
+BT_HIDDEN
+enum bt_component_status bt_component_source_validate(
+ struct bt_component *component)
+{
+ return BT_COMPONENT_STATUS_OK;
}
BT_HIDDEN
-struct bt_component *bt_component_source_create(const char *name)
+struct bt_component *bt_component_source_create(
+ struct bt_component_class *class, struct bt_value *params)
{
struct bt_component_source *source = NULL;
enum bt_component_status ret;
+
source = g_new0(struct bt_component_source, 1);
if (!source) {
goto end;
}
- ret = bt_component_init(&source->parent, name,
- BT_COMPONENT_TYPE_SOURCE, bt_component_source_destroy);
+ ret = bt_component_init(&source->parent, bt_component_source_destroy);
if (ret != BT_COMPONENT_STATUS_OK) {
- g_free(source);
- source = NULL;
+ BT_PUT(source);
goto end;
}
end:
return source ? &source->parent : NULL;
}
-struct bt_notification_iterator *bt_plugin_source_create_iterator(
+struct bt_notification_iterator *bt_component_source_create_iterator(
struct bt_component *component)
{
enum bt_component_status ret_component;
end:
return iterator;
error:
- bt_notification_iterator_put(iterator);
- return NULL;
+ BT_PUT(iterator);
+ return iterator;
}