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)
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;
+}