struct bt_config_component {
struct bt_object base;
+ enum bt_component_class_type type;
GString *plugin_name;
GString *component_name;
struct bt_value *params;
BT_CONFIG_COMMAND_CONVERT,
BT_CONFIG_COMMAND_LIST_PLUGINS,
BT_CONFIG_COMMAND_HELP,
+ BT_CONFIG_COMMAND_QUERY,
};
struct bt_config {
/* Array of pointers to struct bt_config_component */
GPtrArray *sources;
+ /* Array of pointers to struct bt_config_component */
+ GPtrArray *filters;
+
/* Array of pointers to struct bt_config_component */
GPtrArray *sinks;
+ /* Array of pointers to struct bt_config_connection */
+ GPtrArray *connections;
+
bool force_correlate;
bool omit_system_plugin_path;
bool omit_home_plugin_path;
+ bool print_ctf_metadata;
} convert;
/* BT_CONFIG_COMMAND_LIST_PLUGINS */
struct bt_value *plugin_paths;
bool omit_system_plugin_path;
bool omit_home_plugin_path;
- enum bt_component_class_type comp_cls_type;
- GString *plugin_name;
- GString *component_name;
+ struct bt_config_component *cfg_component;
} help;
+
+ /* BT_CONFIG_COMMAND_QUERY */
+ struct {
+ struct bt_value *plugin_paths;
+ bool omit_system_plugin_path;
+ bool omit_home_plugin_path;
+ GString *object;
+ struct bt_config_component *cfg_component;
+ } query;
} cmd_data;
};
bool omit_home_plugin_path,
struct bt_value *initial_plugin_paths);
+struct bt_config_component *bt_config_component_from_arg(
+ enum bt_component_class_type type, const char *arg);
+
enum bt_value_status bt_config_append_plugin_paths(
struct bt_value *plugin_paths, const char *arg);