X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=converter%2Fbabeltrace-cfg.h;h=20c1606667cc722c004f754c83016305ac1f5fe9;hb=290725f719d3d1a8896b73334736d47c5c935040;hp=f32bf07aab0af42c38f794c2f8808e9580adad4b;hpb=00447e452fbd828a77543df627eeefc0cc57a078;p=babeltrace.git diff --git a/converter/babeltrace-cfg.h b/converter/babeltrace-cfg.h index f32bf07a..20c16066 100644 --- a/converter/babeltrace-cfg.h +++ b/converter/babeltrace-cfg.h @@ -40,22 +40,40 @@ struct bt_config_component { struct bt_value *params; }; +enum bt_config_command { + BT_CONFIG_COMMAND_CONVERT, + BT_CONFIG_COMMAND_LIST_PLUGINS, +}; + struct bt_config { struct bt_object base; - struct bt_value *plugin_paths; + bool debug; + bool verbose; + const char *command_name; + enum bt_config_command command; + union { + /* BT_CONFIG_COMMAND_CONVERT */ + 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 *sources; - /* Array of pointers to struct bt_config_component */ - GPtrArray *sinks; + /* Array of pointers to struct bt_config_component */ + GPtrArray *sinks; - bool debug; - bool verbose; - bool do_list; - bool force_correlate; - bool omit_system_plugin_path; - bool omit_home_plugin_path; + bool force_correlate; + bool omit_system_plugin_path; + bool omit_home_plugin_path; + } convert; + + /* BT_CONFIG_COMMAND_LIST_PLUGINS */ + struct { + struct bt_value *plugin_paths; + bool omit_system_plugin_path; + bool omit_home_plugin_path; + } list_plugins; + } cmd_data; }; static inline @@ -65,10 +83,10 @@ struct bt_config_component *bt_config_get_component(GPtrArray *array, return bt_get(g_ptr_array_index(array, index)); } -struct bt_config *bt_config_create(void); - -int bt_config_init_from_args(struct bt_config *cfg, int argc, - const char *argv[]); +struct bt_config *bt_config_from_args(int argc, const char *argv[], + int *retcode, bool omit_system_plugin_path, + bool omit_home_plugin_path, + struct bt_value *initial_plugin_paths); enum bt_value_status bt_config_append_plugin_paths( struct bt_value *plugin_paths, const char *arg);