#include "babeltrace2-cfg-cli-args-connect.h"
#include "babeltrace2-cfg-cli-params-arg.h"
#include "babeltrace2-plugins.h"
-#include "babeltrace2-cfg-src-auto-disc.h"
+#include "babeltrace2-query.h"
+#include "autodisc/autodisc.h"
#include "common/version.h"
static const int cli_default_log_level = BT_LOG_WARNING;
goto end;
}
- for (i = 0; i < bt_value_array_get_size(names_array); i++) {
+ for (i = 0; i < bt_value_array_get_length(names_array); i++) {
const bt_value *str_obj =
bt_value_array_borrow_element_by_index_const(names_array,
i);
struct bt_config *cfg = NULL;
const char *non_opt = NULL;
char *plugin_name = NULL, *comp_cls_name = NULL;
- struct bt_argpar_parse_ret argpar_parse_ret;
+ struct bt_argpar_parse_ret argpar_parse_ret = { 0 };
*retcode = 0;
cfg = bt_config_help_create(initial_plugin_paths, default_log_level);
const char *query_object = NULL;
bt_value *params;
GString *error_str = NULL;
- struct bt_argpar_parse_ret argpar_parse_ret;
+ struct bt_argpar_parse_ret argpar_parse_ret = { 0 };
params = bt_value_null;
bt_value_get_ref(bt_value_null);
struct bt_config *cfg = NULL;
const char **argv;
int64_t i, len;
- const size_t argc = bt_value_array_get_size(run_args);
+ const size_t argc = bt_value_array_get_length(run_args);
argv = calloc(argc, sizeof(*argv));
if (!argv) {
goto end;
}
- len = bt_value_array_get_size(run_args);
+ len = bt_value_array_get_length(run_args);
if (len < 0) {
BT_CLI_LOGE_APPEND_CAUSE("Invalid executable arguments.");
goto end;
}
}
- for (i = 0; i < bt_value_array_get_size(impl_args->extra_params);
+ for (i = 0; i < bt_value_array_get_length(impl_args->extra_params);
i++) {
const bt_value *elem;
const char *arg;
}
case BT_VALUE_TYPE_ARRAY: {
g_string_append_c(buf, '[');
- uint64_t sz = bt_value_array_get_size(value);
+ uint64_t sz = bt_value_array_get_length(value);
for (uint64_t i = 0; i < sz; i++) {
const bt_value *item;
int ret;
* non-option arguments that contributed to this
* component instance coming into existence.
*/
- orig_indices_count = bt_value_array_get_size(res->original_input_indices);
+ orig_indices_count = bt_value_array_get_length(res->original_input_indices);
for (orig_indices_i = 0; orig_indices_i < orig_indices_count; orig_indices_i++) {
const bt_value *orig_idx_value =
bt_value_array_borrow_element_by_index(
uint64_t params_i, params_count;
const bt_value *loglevel_value;
- params_count = bt_value_array_get_size(params_array);
+ params_count = bt_value_array_get_length(params_array);
for (params_i = 0; params_i < params_count; params_i++) {
const bt_value *params_value =
bt_value_array_borrow_element_by_index_const(
* it in `non_opt_params`.
*/
bt_value *array;
- uint64_t idx = bt_value_array_get_size(non_opt_params) - 1;
+ uint64_t idx = bt_value_array_get_length(non_opt_params) - 1;
array = bt_value_array_borrow_element_by_index(non_opt_params, idx);
bt_value_array_append_string_element(array, arg);
goto error;
}
} else if (current_item_type == CONVERT_CURRENT_ITEM_TYPE_NON_OPT) {
- uint64_t idx = bt_value_array_get_size(non_opt_loglevels) - 1;
+ uint64_t idx = bt_value_array_get_length(non_opt_loglevels) - 1;
bt_value *log_level_str_value;
log_level_str_value = bt_value_string_create_init(arg);
goto error;
}
- if (bt_value_array_get_size(non_opts) > 1) {
+ if (bt_value_array_get_length(non_opts) > 1) {
BT_CLI_LOGE_APPEND_CAUSE("Too many paths specified for --output-format=ctf-metadata.");
goto error;
}
}
/* Decide where the non-option argument(s) go */
- if (bt_value_array_get_size(non_opts) > 0) {
+ if (bt_value_array_get_length(non_opts) > 0) {
if (implicit_lttng_live_args.exists) {
const bt_value *bt_val_non_opt;
- if (bt_value_array_get_size(non_opts) > 1) {
+ if (bt_value_array_get_length(non_opts) > 1) {
BT_CLI_LOGE_APPEND_CAUSE("Too many URLs specified for --input-format=lttng-live.");
goto error;
}
}
} else {
int status;
+ size_t plugin_count;
+ const bt_plugin **plugins;
+ const bt_plugin *plugin;
+
+ status = require_loaded_plugins(plugin_paths);
+ if (status != 0) {
+ goto error;
+ }
+
+ if (auto_source_discovery_restrict_plugin_name) {
+ plugin_count = 1;
+ plugin = find_loaded_plugin(auto_source_discovery_restrict_plugin_name);
+ plugins = &plugin;
+ } else {
+ plugin_count = get_loaded_plugins_count();
+ plugins = borrow_loaded_plugins();
+ }
- status = auto_discover_source_components(plugin_paths, non_opts,
- auto_source_discovery_restrict_plugin_name,
+ status = auto_discover_source_components(non_opts, plugins, plugin_count,
auto_source_discovery_restrict_component_class_name,
*default_log_level >= 0 ? *default_log_level : cli_default_log_level,
&auto_disc);
goto error;
}
- for (i = 0; i < bt_value_array_get_size(run_args); i++) {
+ for (i = 0; i < bt_value_array_get_length(run_args); i++) {
const bt_value *arg_value =
bt_value_array_borrow_element_by_index(run_args,
i);
g_string_free(quoted, TRUE);
}
- if (i < bt_value_array_get_size(run_args) - 1) {
+ if (i < bt_value_array_get_length(run_args) - 1) {
if (print_run_args) {
putchar(' ');
} else {