X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=converter%2Fbabeltrace-cfg.h;h=caa90f44ce2f1939cf79316b194fcf7f5d613b9d;hb=72b913fbad1753b5b122bfb54c1e7936eaf9d0ef;hp=4245012c2ed20eb3a7d8afc0d11a4b570b58c78d;hpb=22e224622e936c4eba550405f5631c5297c165be;p=babeltrace.git diff --git a/converter/babeltrace-cfg.h b/converter/babeltrace-cfg.h index 4245012c..caa90f44 100644 --- a/converter/babeltrace-cfg.h +++ b/converter/babeltrace-cfg.h @@ -36,55 +36,68 @@ struct bt_config_component { struct bt_object base; + enum bt_component_class_type type; GString *plugin_name; - GString *component_name; + GString *comp_cls_name; struct bt_value *params; + GString *instance_name; }; enum bt_config_command { - BT_CONFIG_COMMAND_CONVERT, + BT_CONFIG_COMMAND_RUN, + BT_CONFIG_COMMAND_PRINT_CTF_METADATA, + BT_CONFIG_COMMAND_PRINT_LTTNG_LIVE_SESSIONS, BT_CONFIG_COMMAND_LIST_PLUGINS, BT_CONFIG_COMMAND_HELP, + BT_CONFIG_COMMAND_QUERY, }; struct bt_config { struct bt_object base; bool debug; bool verbose; + struct bt_value *plugin_paths; + bool omit_system_plugin_path; + bool omit_home_plugin_path; + bool command_needs_plugins; const char *command_name; enum bt_config_command command; union { - /* BT_CONFIG_COMMAND_CONVERT */ + /* BT_CONFIG_COMMAND_RUN */ struct { - struct bt_value *plugin_paths; - /* Array of pointers to struct bt_config_component */ GPtrArray *sources; /* Array of pointers to struct bt_config_component */ - GPtrArray *sinks; + GPtrArray *filters; - bool force_correlate; - bool omit_system_plugin_path; - bool omit_home_plugin_path; - } convert; + /* Array of pointers to struct bt_config_component */ + GPtrArray *sinks; - /* BT_CONFIG_COMMAND_LIST_PLUGINS */ - struct { - struct bt_value *plugin_paths; - bool omit_system_plugin_path; - bool omit_home_plugin_path; - } list_plugins; + /* Array of pointers to struct bt_config_connection */ + GPtrArray *connections; + } run; /* BT_CONFIG_COMMAND_HELP */ struct { - 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 { + GString *object; + struct bt_config_component *cfg_component; + } query; + + /* BT_CONFIG_COMMAND_PRINT_CTF_METADATA */ + struct { + GString *path; + } print_ctf_metadata; + + /* BT_CONFIG_COMMAND_PRINT_LTTNG_LIVE_SESSIONS */ + struct { + GString *url; + } print_lttng_live_sessions; } cmd_data; }; @@ -100,6 +113,9 @@ struct bt_config *bt_config_from_args(int argc, const char *argv[], 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);