projects
/
babeltrace.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Set notification iterator methods to the component class
[babeltrace.git]
/
lib
/
component
/
component.c
diff --git
a/lib/component/component.c
b/lib/component/component.c
index c188261c7554bcca85088e132359bf45d19c952f..d6921a42da4b2e7235b0661be163df38330d9556 100644
(file)
--- a/
lib/component/component.c
+++ b/
lib/component/component.c
@@
-134,29
+134,27
@@
struct bt_notification_iterator *bt_component_create_iterator(
case BT_COMPONENT_CLASS_TYPE_SOURCE:
{
struct bt_component_class_source *source_class;
case BT_COMPONENT_CLASS_TYPE_SOURCE:
{
struct bt_component_class_source *source_class;
- enum bt_
component_status ret_component
;
+ enum bt_
notification_iterator_status status
;
source_class = container_of(class, struct bt_component_class_source, parent);
source_class = container_of(class, struct bt_component_class_source, parent);
- assert(source_class->methods.i
nit_iterator
);
- ret_component =
-
source_class->methods.init_iterator(component,
iterator);
- if (
ret_component != BT_COMPONENT_STATUS_OK
) {
+ assert(source_class->methods.i
terator.init
);
+ status = source_class->methods.iterator.init(component,
+
iterator);
+ if (
status < 0
) {
goto error;
}
break;
goto error;
}
break;
-
- break;
}
case BT_COMPONENT_CLASS_TYPE_FILTER:
{
struct bt_component_class_filter *filter_class;
}
case BT_COMPONENT_CLASS_TYPE_FILTER:
{
struct bt_component_class_filter *filter_class;
- enum bt_
component_status ret_component
;
+ enum bt_
notification_iterator_status status
;
filter_class = container_of(class, struct bt_component_class_filter, parent);
filter_class = container_of(class, struct bt_component_class_filter, parent);
- assert(filter_class->methods.i
nit_iterator
);
- ret_component =
-
filter_class->methods.init_iterator(component,
iterator);
- if (
ret_component != BT_COMPONENT_STATUS_OK
) {
+ assert(filter_class->methods.i
terator.init
);
+ status = filter_class->methods.iterator.init(component,
+
iterator);
+ if (
status < 0
) {
goto error;
}
break;
goto error;
}
break;
@@
-177,9
+175,9
@@
error:
return iterator;
}
return iterator;
}
-struct bt_component *bt_component_create(
+struct bt_component *bt_component_create
_with_init_method_data
(
struct bt_component_class *component_class, const char *name,
struct bt_component_class *component_class, const char *name,
- struct bt_value *params)
+ struct bt_value *params
, void *init_method_data
)
{
int ret;
struct bt_component *component = NULL;
{
int ret;
struct bt_component *component = NULL;
@@
-189,7
+187,6
@@
struct bt_component *bt_component_create(
goto end;
}
goto end;
}
-
type = bt_component_class_get_type(component_class);
if (type <= BT_COMPONENT_CLASS_TYPE_UNKNOWN ||
type > BT_COMPONENT_CLASS_TYPE_FILTER) {
type = bt_component_class_get_type(component_class);
if (type <= BT_COMPONENT_CLASS_TYPE_UNKNOWN ||
type > BT_COMPONENT_CLASS_TYPE_FILTER) {
@@
-211,7
+208,8
@@
struct bt_component *bt_component_create(
component->initializing = true;
if (component_class->methods.init) {
component->initializing = true;
if (component_class->methods.init) {
- ret = component_class->methods.init(component, params);
+ ret = component_class->methods.init(component, params,
+ init_method_data);
component->initializing = false;
if (ret != BT_COMPONENT_STATUS_OK) {
BT_PUT(component);
component->initializing = false;
if (ret != BT_COMPONENT_STATUS_OK) {
BT_PUT(component);
@@
-231,6
+229,14
@@
end:
return component;
}
return component;
}
+struct bt_component *bt_component_create(
+ struct bt_component_class *component_class, const char *name,
+ struct bt_value *params)
+{
+ return bt_component_create_with_init_method_data(component_class, name,
+ params, NULL);
+}
+
const char *bt_component_get_name(struct bt_component *component)
{
const char *ret = NULL;
const char *bt_component_get_name(struct bt_component *component)
{
const char *ret = NULL;
This page took
0.026963 seconds
and
4
git commands to generate.