Implement the component graph interface
[babeltrace.git] / lib / component / component-class.c
index 72bea187c23e89fd5992aa3754651042fd11d0aa..fa71bc94bc71439a47e1e615f982eafbe11fe15f 100644 (file)
@@ -228,6 +228,23 @@ end:
        return ret;
 }
 
+int bt_component_class_set_query_method(
+               struct bt_component_class *component_class,
+               bt_component_class_query_method query_method)
+{
+       int ret = 0;
+
+       if (!component_class || component_class->frozen || !query_method) {
+               ret = -1;
+               goto end;
+       }
+
+       component_class->methods.query = query_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(
+               struct bt_component_class *component_class,
+               const char *object, struct bt_value *params)
+{
+       struct bt_value *results = NULL;
+
+       if (!component_class || !object || !params ||
+                       !component_class->methods.query) {
+               goto end;
+       }
+
+       results = component_class->methods.query(component_class,
+               object, params);
+
+end:
+       return results;
+}
This page took 0.024698 seconds and 4 git commands to generate.