X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fcomponent%2Fcomponent-class.h;h=823301a2696baa1675ad0869cdfd44a4ed3ba81a;hb=72b913fbad1753b5b122bfb54c1e7936eaf9d0ef;hp=664d7bcf2e153c454905017f54a4ea6629e3ff0a;hpb=8b0ce102eb09589746adb9ee93c46035178a26c3;p=babeltrace.git diff --git a/include/babeltrace/component/component-class.h b/include/babeltrace/component/component-class.h index 664d7bcf..823301a2 100644 --- a/include/babeltrace/component/component-class.h +++ b/include/babeltrace/component/component-class.h @@ -26,12 +26,18 @@ */ #include +#include #ifdef __cplusplus extern "C" { #endif struct bt_component_class; +struct bt_component; +struct bt_port; +struct bt_connection; +struct bt_value; +struct bt_notification_iterator; /** * Component class type. @@ -73,6 +79,16 @@ typedef enum bt_notification_iterator_status (*bt_component_class_notification_iterator_seek_time_method)( struct bt_notification_iterator *iterator, int64_t time); +typedef struct bt_value *(*bt_component_class_query_method)( + struct bt_component_class *component_class, + const char *object, struct bt_value *params); + +typedef enum bt_component_status (*bt_component_class_accept_port_connection_method)( + struct bt_component *component, struct bt_port *port); + +typedef void (*bt_component_class_port_disconnected_method)( + struct bt_component *component, struct bt_port *port); + extern int bt_component_class_set_init_method( struct bt_component_class *component_class, bt_component_class_init_method init_method); @@ -81,10 +97,26 @@ extern int bt_component_class_set_destroy_method( struct bt_component_class *component_class, bt_component_class_destroy_method destroy_method); +extern int bt_component_class_set_accept_port_connection_method( + struct bt_component_class *component_class, + bt_component_class_accept_port_connection_method accept_port_connection_method); + +extern int bt_component_class_set_port_disconnected_method( + struct bt_component_class *component_class, + bt_component_class_port_disconnected_method port_disconnected_method); + +extern int bt_component_class_set_query_method( + struct bt_component_class *component_class, + bt_component_class_query_method query_method); + extern int bt_component_class_set_description( struct bt_component_class *component_class, const char *description); +extern int bt_component_class_set_help( + struct bt_component_class *component_class, + const char *help); + extern int bt_component_class_freeze( struct bt_component_class *component_class); @@ -109,6 +141,13 @@ extern const char *bt_component_class_get_name( extern const char *bt_component_class_get_description( struct bt_component_class *component_class); +extern const char *bt_component_class_get_help( + struct bt_component_class *component_class); + +extern struct bt_value *bt_component_class_query( + struct bt_component_class *component_class, + const char *object, struct bt_value *params); + /** * Get a component class' type. *