X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=cli%2Fbabeltrace-cfg.h;h=6d98cd3398daa9803841e817ba22a268beda3d60;hb=7144b5acc3ecac81b0d497b51a864d59a4cca72c;hp=ca2f9950ebbdb6d592173aa0bab49408657d2ce2;hpb=8d77550c9ec0f0bdb483a672a676e842510bb384;p=babeltrace.git diff --git a/cli/babeltrace-cfg.h b/cli/babeltrace-cfg.h index ca2f9950..6d98cd33 100644 --- a/cli/babeltrace-cfg.h +++ b/cli/babeltrace-cfg.h @@ -1,10 +1,10 @@ -#ifndef BABELTRACE_CONVERTER_CFG_H -#define BABELTRACE_CONVERTER_CFG_H +#ifndef CLI_BABELTRACE_CFG_H +#define CLI_BABELTRACE_CFG_H /* - * Babeltrace trace converter - configuration + * Babeltrace trace converter - CLI tool's configuration * - * Copyright 2016 Philippe Proulx + * Copyright 2016-2017 Philippe Proulx * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -27,22 +27,13 @@ #include #include -#include -#include +#include +#include #include -#include +#include #include #include -struct bt_config_component { - struct bt_object base; - enum bt_component_class_type type; - GString *plugin_name; - GString *comp_cls_name; - struct bt_value *params; - GString *instance_name; -}; - enum bt_config_command { BT_CONFIG_COMMAND_RUN, BT_CONFIG_COMMAND_PRINT_CTF_METADATA, @@ -52,15 +43,33 @@ enum bt_config_command { BT_CONFIG_COMMAND_QUERY, }; +struct bt_config_component { + bt_object base; + bt_component_class_type type; + GString *plugin_name; + GString *comp_cls_name; + bt_value *params; + GString *instance_name; +}; + +struct bt_config_connection { + GString *upstream_comp_name; + GString *downstream_comp_name; + GString *upstream_port_glob; + GString *downstream_port_glob; + GString *arg; +}; + struct bt_config { - struct bt_object base; + bt_object base; bool debug; bool verbose; - struct bt_value *plugin_paths; + bt_value *plugin_paths; bool omit_system_plugin_path; bool omit_home_plugin_path; bool command_needs_plugins; const char *command_name; + char log_level; enum bt_config_command command; union { /* BT_CONFIG_COMMAND_RUN */ @@ -76,6 +85,18 @@ struct bt_config { /* Array of pointers to struct bt_config_connection */ GPtrArray *connections; + + /* + * Number of microseconds to sleep when we need + * to retry to run the graph. + */ + uint64_t retry_duration_us; + + /* + * Whether or not to trim the source trace to the + * intersection of its streams. + */ + bool stream_intersection_mode; } run; /* BT_CONFIG_COMMAND_HELP */ @@ -92,11 +113,13 @@ struct bt_config { /* BT_CONFIG_COMMAND_PRINT_CTF_METADATA */ struct { GString *path; + GString *output_path; } print_ctf_metadata; /* BT_CONFIG_COMMAND_PRINT_LTTNG_LIVE_SESSIONS */ struct { GString *url; + GString *output_path; } print_lttng_live_sessions; } cmd_data; }; @@ -105,18 +128,15 @@ static inline struct bt_config_component *bt_config_get_component(GPtrArray *array, size_t index) { - return bt_get(g_ptr_array_index(array, index)); -} + struct bt_config_component *comp = g_ptr_array_index(array, index); -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); + bt_object_get_ref(comp); + return comp; +} -struct bt_config_component *bt_config_component_from_arg( - enum bt_component_class_type type, const char *arg); +int bt_config_append_plugin_paths(bt_value *plugin_paths, + const char *arg); -enum bt_value_status bt_config_append_plugin_paths( - struct bt_value *plugin_paths, const char *arg); +void bt_config_connection_destroy(struct bt_config_connection *connection); -#endif /* BABELTRACE_CONVERTER_CFG_H */ +#endif /* CLI_BABELTRACE_CFG_H */