X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=lib%2Fgraph%2Fcomponent-class.c;h=1df85b48f1baa0b4c79ee100c857fd13308dcc3d;hb=312c056ae3d374b253fa0cfe5ed576c0b0e5e569;hp=a899416dd2e4afab9ec11228dfb572fcfc5ec1fd;hpb=a3aacb6f887b1adb4f09b403116cf10a9d0c0bb5;p=babeltrace.git diff --git a/lib/graph/component-class.c b/lib/graph/component-class.c index a899416d..1df85b48 100644 --- a/lib/graph/component-class.c +++ b/lib/graph/component-class.c @@ -33,6 +33,7 @@ #include #include #include +#include #include static @@ -41,7 +42,7 @@ void bt_component_class_destroy(struct bt_object *obj) struct bt_component_class *class; int i; - assert(obj); + BT_ASSERT(obj); class = container_of(obj, struct bt_component_class, base); BT_LOGD("Destroying component class: " @@ -121,7 +122,7 @@ end: } struct bt_component_class *bt_component_class_source_create(const char *name, - bt_component_class_notification_iterator_next_method notification_iterator_next_method) + bt_component_class_notification_iterator_next_method method) { struct bt_component_class_source *source_class = NULL; int ret; @@ -131,14 +132,14 @@ struct bt_component_class *bt_component_class_source_create(const char *name, goto end; } - if (!notification_iterator_next_method) { + if (!method) { BT_LOGW_STR("Invalid parameter: method is NULL."); goto end; } BT_LOGD("Creating source component class: " "name=\"%s\", notif-iter-next-method-addr=%p", - name, notification_iterator_next_method); + name, method); source_class = g_new0(struct bt_component_class_source, 1); if (!source_class) { BT_LOGE_STR("Failed to allocate one source component class."); @@ -158,17 +159,17 @@ struct bt_component_class *bt_component_class_source_create(const char *name, goto end; } - source_class->methods.iterator.next = notification_iterator_next_method; + source_class->methods.iterator.next = method; BT_LOGD("Created source component class: " "name=\"%s\", notif-iter-next-method-addr=%p, addr=%p", - name, notification_iterator_next_method, &source_class->parent); + name, method, &source_class->parent); end: return &source_class->parent; } struct bt_component_class *bt_component_class_filter_create(const char *name, - bt_component_class_notification_iterator_next_method notification_iterator_next_method) + bt_component_class_notification_iterator_next_method method) { struct bt_component_class_filter *filter_class = NULL; int ret; @@ -178,14 +179,14 @@ struct bt_component_class *bt_component_class_filter_create(const char *name, goto end; } - if (!notification_iterator_next_method) { + if (!method) { BT_LOGW_STR("Invalid parameter: method is NULL."); goto end; } BT_LOGD("Creating filter component class: " "name=\"%s\", notif-iter-next-method-addr=%p", - name, notification_iterator_next_method); + name, method); filter_class = g_new0(struct bt_component_class_filter, 1); if (!filter_class) { BT_LOGE_STR("Failed to allocate one filter component class."); @@ -205,17 +206,17 @@ struct bt_component_class *bt_component_class_filter_create(const char *name, goto end; } - filter_class->methods.iterator.next = notification_iterator_next_method; + filter_class->methods.iterator.next = method; BT_LOGD("Created filter component class: " "name=\"%s\", notif-iter-next-method-addr=%p, addr=%p", - name, notification_iterator_next_method, &filter_class->parent); + name, method, &filter_class->parent); end: return &filter_class->parent; } struct bt_component_class *bt_component_class_sink_create(const char *name, - bt_component_class_sink_consume_method consume_method) + bt_component_class_sink_consume_method method) { struct bt_component_class_sink *sink_class = NULL; int ret; @@ -225,14 +226,14 @@ struct bt_component_class *bt_component_class_sink_create(const char *name, goto end; } - if (!consume_method) { + if (!method) { BT_LOGW_STR("Invalid parameter: method is NULL."); goto end; } BT_LOGD("Creating sink component class: " "name=\"%s\", consume-method-addr=%p", - name, consume_method); + name, method); sink_class = g_new0(struct bt_component_class_sink, 1); if (!sink_class) { BT_LOGE_STR("Failed to allocate one sink component class."); @@ -252,10 +253,10 @@ struct bt_component_class *bt_component_class_sink_create(const char *name, goto end; } - sink_class->methods.consume = consume_method; + sink_class->methods.consume = method; BT_LOGD("Created sink component class: " "name=\"%s\", consume-method-addr=%p, addr=%p", - name, consume_method, &sink_class->parent); + name, method, &sink_class->parent); end: return &sink_class->parent; @@ -263,7 +264,7 @@ end: int bt_component_class_set_init_method( struct bt_component_class *component_class, - bt_component_class_init_method init_method) + bt_component_class_init_method method) { int ret = 0; @@ -273,7 +274,7 @@ int bt_component_class_set_init_method( goto end; } - if (!init_method) { + if (!method) { BT_LOGW_STR("Invalid parameter: method is NULL."); ret = -1; goto end; @@ -289,13 +290,13 @@ int bt_component_class_set_init_method( goto end; } - component_class->methods.init = init_method; + component_class->methods.init = method; BT_LOGV("Set component class's initialization method: " "addr=%p, name=\"%s\", type=%s, method-addr=%p", component_class, bt_component_class_get_name(component_class), bt_component_class_type_string(component_class->type), - init_method); + method); end: return ret; @@ -303,7 +304,7 @@ end: int bt_component_class_set_query_method( struct bt_component_class *component_class, - bt_component_class_query_method query_method) + bt_component_class_query_method method) { int ret = 0; @@ -313,7 +314,7 @@ int bt_component_class_set_query_method( goto end; } - if (!query_method) { + if (!method) { BT_LOGW_STR("Invalid parameter: method is NULL."); ret = -1; goto end; @@ -329,13 +330,13 @@ int bt_component_class_set_query_method( goto end; } - component_class->methods.query = query_method; + component_class->methods.query = method; BT_LOGV("Set component class's query method: " "addr=%p, name=\"%s\", type=%s, method-addr=%p", component_class, bt_component_class_get_name(component_class), bt_component_class_type_string(component_class->type), - query_method); + method); end: return ret; @@ -463,7 +464,7 @@ end: int bt_component_class_set_finalize_method( struct bt_component_class *component_class, - bt_component_class_finalize_method finalize_method) + bt_component_class_finalize_method method) { int ret = 0; @@ -473,7 +474,7 @@ int bt_component_class_set_finalize_method( goto end; } - if (!finalize_method) { + if (!method) { BT_LOGW_STR("Invalid parameter: method is NULL."); ret = -1; goto end; @@ -489,13 +490,13 @@ int bt_component_class_set_finalize_method( goto end; } - component_class->methods.finalize = finalize_method; + component_class->methods.finalize = method; BT_LOGV("Set component class's finalization method: " "addr=%p, name=\"%s\", type=%s, method-addr=%p", component_class, bt_component_class_get_name(component_class), bt_component_class_type_string(component_class->type), - finalize_method); + method); end: return ret; @@ -503,7 +504,7 @@ end: int bt_component_class_source_set_notification_iterator_init_method( struct bt_component_class *component_class, - bt_component_class_notification_iterator_init_method notification_iterator_init_method) + bt_component_class_notification_iterator_init_method method) { struct bt_component_class_source *source_class; int ret = 0; @@ -514,7 +515,7 @@ int bt_component_class_source_set_notification_iterator_init_method( goto end; } - if (!notification_iterator_init_method) { + if (!method) { BT_LOGW_STR("Invalid parameter: method is NULL."); ret = -1; goto end; @@ -542,12 +543,12 @@ int bt_component_class_source_set_notification_iterator_init_method( source_class = container_of(component_class, struct bt_component_class_source, parent); - source_class->methods.iterator.init = notification_iterator_init_method; + source_class->methods.iterator.init = method; BT_LOGV("Set filter component class's notification iterator initialization method: " "addr=%p, name=\"%s\", method-addr=%p", component_class, bt_component_class_get_name(component_class), - notification_iterator_init_method); + method); end: return ret; @@ -555,7 +556,7 @@ end: int bt_component_class_source_set_notification_iterator_finalize_method( struct bt_component_class *component_class, - bt_component_class_notification_iterator_finalize_method notification_iterator_finalize_method) + bt_component_class_notification_iterator_finalize_method method) { struct bt_component_class_source *source_class; int ret = 0; @@ -566,7 +567,7 @@ int bt_component_class_source_set_notification_iterator_finalize_method( goto end; } - if (!notification_iterator_finalize_method) { + if (!method) { BT_LOGW_STR("Invalid parameter: method is NULL."); ret = -1; goto end; @@ -595,65 +596,12 @@ int bt_component_class_source_set_notification_iterator_finalize_method( source_class = container_of(component_class, struct bt_component_class_source, parent); source_class->methods.iterator.finalize = - notification_iterator_finalize_method; + method; BT_LOGV("Set filter component class's notification iterator finalization method: " "addr=%p, name=\"%s\", method-addr=%p", component_class, bt_component_class_get_name(component_class), - notification_iterator_finalize_method); - -end: - return ret; -} - -int bt_component_class_source_set_notification_iterator_seek_time_method( - struct bt_component_class *component_class, - bt_component_class_notification_iterator_seek_time_method notification_iterator_seek_time_method) -{ - struct bt_component_class_source *source_class; - int ret = 0; - - if (!component_class) { - BT_LOGW_STR("Invalid parameter: component class is NULL."); - ret = -1; - goto end; - } - - if (!notification_iterator_seek_time_method) { - BT_LOGW_STR("Invalid parameter: method is NULL."); - ret = -1; - goto end; - } - - if (component_class->type != BT_COMPONENT_CLASS_TYPE_SOURCE) { - BT_LOGW("Invalid parameter: component class is not a source component class: " - "addr=%p, name=\"%s\", type=%s", - component_class, - bt_component_class_get_name(component_class), - bt_component_class_type_string(component_class->type)); - ret = -1; - goto end; - } - - if (component_class->frozen) { - BT_LOGW("Invalid parameter: component class is frozen: " - "addr=%p, name=\"%s\", type=%s", - component_class, - bt_component_class_get_name(component_class), - bt_component_class_type_string(component_class->type)); - ret = -1; - goto end; - } - - source_class = container_of(component_class, - struct bt_component_class_source, parent); - source_class->methods.iterator.seek_time = - notification_iterator_seek_time_method; - BT_LOGV("Set source component class's notification iterator seek time method: " - "addr=%p, name=\"%s\", method-addr=%p", - component_class, - bt_component_class_get_name(component_class), - notification_iterator_seek_time_method); + method); end: return ret; @@ -661,7 +609,7 @@ end: int bt_component_class_filter_set_notification_iterator_init_method( struct bt_component_class *component_class, - bt_component_class_notification_iterator_init_method notification_iterator_init_method) + bt_component_class_notification_iterator_init_method method) { struct bt_component_class_filter *filter_class; int ret = 0; @@ -672,7 +620,7 @@ int bt_component_class_filter_set_notification_iterator_init_method( goto end; } - if (!notification_iterator_init_method) { + if (!method) { BT_LOGW_STR("Invalid parameter: method is NULL."); ret = -1; goto end; @@ -700,12 +648,12 @@ int bt_component_class_filter_set_notification_iterator_init_method( filter_class = container_of(component_class, struct bt_component_class_filter, parent); - filter_class->methods.iterator.init = notification_iterator_init_method; + filter_class->methods.iterator.init = method; BT_LOGV("Set filter component class's notification iterator initialization method: " "addr=%p, name=\"%s\", method-addr=%p", component_class, bt_component_class_get_name(component_class), - notification_iterator_init_method); + method); end: return ret; @@ -713,7 +661,7 @@ end: int bt_component_class_filter_set_notification_iterator_finalize_method( struct bt_component_class *component_class, - bt_component_class_notification_iterator_finalize_method notification_iterator_finalize_method) + bt_component_class_notification_iterator_finalize_method method) { struct bt_component_class_filter *filter_class; int ret = 0; @@ -724,7 +672,7 @@ int bt_component_class_filter_set_notification_iterator_finalize_method( goto end; } - if (!notification_iterator_finalize_method) { + if (!method) { BT_LOGW_STR("Invalid parameter: method is NULL."); ret = -1; goto end; @@ -753,65 +701,12 @@ int bt_component_class_filter_set_notification_iterator_finalize_method( filter_class = container_of(component_class, struct bt_component_class_filter, parent); filter_class->methods.iterator.finalize = - notification_iterator_finalize_method; + method; BT_LOGV("Set filter component class's notification iterator finalization method: " "addr=%p, name=\"%s\", method-addr=%p", component_class, bt_component_class_get_name(component_class), - notification_iterator_finalize_method); - -end: - return ret; -} - -int bt_component_class_filter_set_notification_iterator_seek_time_method( - struct bt_component_class *component_class, - bt_component_class_notification_iterator_seek_time_method notification_iterator_seek_time_method) -{ - struct bt_component_class_filter *filter_class; - int ret = 0; - - if (!component_class) { - BT_LOGW_STR("Invalid parameter: component class is NULL."); - ret = -1; - goto end; - } - - if (!notification_iterator_seek_time_method) { - BT_LOGW_STR("Invalid parameter: method is NULL."); - ret = -1; - goto end; - } - - if (component_class->type != BT_COMPONENT_CLASS_TYPE_FILTER) { - BT_LOGW("Invalid parameter: component class is not a filter component class: " - "addr=%p, name=\"%s\", type=%s", - component_class, - bt_component_class_get_name(component_class), - bt_component_class_type_string(component_class->type)); - ret = -1; - goto end; - } - - if (component_class->frozen) { - BT_LOGW("Invalid parameter: component class is frozen: " - "addr=%p, name=\"%s\", type=%s", - component_class, - bt_component_class_get_name(component_class), - bt_component_class_type_string(component_class->type)); - ret = -1; - goto end; - } - - filter_class = container_of(component_class, - struct bt_component_class_filter, parent); - filter_class->methods.iterator.seek_time = - notification_iterator_seek_time_method; - BT_LOGV("Set filter component class's notification iterator seek time method: " - "addr=%p, name=\"%s\", method-addr=%p", - component_class, - bt_component_class_get_name(component_class), - notification_iterator_seek_time_method); + method); end: return ret; @@ -930,8 +825,8 @@ void bt_component_class_add_destroy_listener(struct bt_component_class *class, { struct bt_component_class_destroy_listener listener; - assert(class); - assert(func); + BT_ASSERT(class); + BT_ASSERT(func); listener.func = func; listener.data = data; g_array_append_val(class->destroy_listeners, listener); @@ -969,49 +864,3 @@ int bt_component_class_freeze( end: return ret; } - -struct bt_value *bt_component_class_query( - struct bt_component_class *component_class, - const char *object, struct bt_value *params) -{ - struct bt_value *results = NULL; - - if (!component_class) { - BT_LOGW_STR("Invalid parameter: component class is NULL."); - goto end; - } - - if (!object) { - BT_LOGW_STR("Invalid parameter: object string is NULL."); - goto end; - } - - if (!params) { - BT_LOGW_STR("Invalid parameter: parameters value is NULL."); - goto end; - } - - if (!component_class->methods.query) { - /* Not an error: nothing to query */ - BT_LOGD("Component class has no registered query method: " - "addr=%p, name=\"%s\", type=%s", - component_class, - bt_component_class_get_name(component_class), - bt_component_class_type_string(component_class->type)); - goto end; - } - - BT_LOGD("Calling user's query method: " - "comp-class-addr=%p, comp-class-name=\"%s\", comp-class-type=%s" - "object=\"%s\", params-addr=%p", - component_class, - bt_component_class_get_name(component_class), - bt_component_class_type_string(component_class->type), - object, params); - results = component_class->methods.query(component_class, - object, params); - BT_LOGD("User method returned: results-addr=%p", results); - -end: - return results; -}