Add bt_component_class_query_info() API
[babeltrace.git] / lib / component / component-class.c
index 72bea187c23e89fd5992aa3754651042fd11d0aa..4e337e030876fd5accb698f7a405817d873e64f3 100644 (file)
@@ -228,6 +228,23 @@ end:
        return ret;
 }
 
+int bt_component_class_set_query_info_method(
+               struct bt_component_class *component_class,
+               bt_component_class_query_info_method query_info_method)
+{
+       int ret = 0;
+
+       if (!component_class || component_class->frozen || !query_info_method) {
+               ret = -1;
+               goto end;
+       }
+
+       component_class->methods.query_info = query_info_method;
+
+end:
+       return ret;
+}
+
 int bt_component_class_set_destroy_method(
                struct bt_component_class *component_class,
                bt_component_class_destroy_method destroy_method)
@@ -524,3 +541,21 @@ int bt_component_class_freeze(
 end:
        return ret;
 }
+
+struct bt_value *bt_component_class_query_info(
+               struct bt_component_class *component_class,
+               const char *action, struct bt_value *params)
+{
+       struct bt_value *results = NULL;
+
+       if (!component_class || !action || !params ||
+                       !component_class->methods.query_info) {
+               goto end;
+       }
+
+       results = component_class->methods.query_info(component_class,
+               action, params);
+
+end:
+       return results;
+}
This page took 0.023267 seconds and 4 git commands to generate.