*/
#include <stdlib.h>
-#include <babeltrace/values.h>
+#include <babeltrace/babeltrace.h>
#include <babeltrace/common-internal.h>
#include "babeltrace-cfg.h"
#include "babeltrace-cfg-cli-args-connect.h"
bool is_valid = true;
const char *ch = port_glob;
- assert(port_glob);
+ BT_ASSERT(port_glob);
while (*ch != '\0') {
switch (*ch) {
struct bt_config_component *comp = g_ptr_array_index(comps, i);
if (strcmp(name, comp->instance_name->str) == 0) {
- found_comp = bt_get(comp);
+ found_comp = comp;
+ bt_object_get_ref(found_comp);
goto end;
}
}
struct bt_config_component *comp;
comp = find_component(cfg, connection->upstream_comp_name->str);
- bt_put(comp);
+ bt_object_put_ref(comp);
if (!comp) {
snprintf(error_buf, error_buf_size,
"Invalid connection: cannot find upstream component `%s`:\n %s\n",
}
comp = find_component(cfg, connection->downstream_comp_name->str);
- bt_put(comp);
+ bt_object_put_ref(comp);
if (!comp) {
snprintf(error_buf, error_buf_size,
"Invalid connection: cannot find downstream component `%s`:\n %s\n",
src_comp = find_component(cfg,
connection->upstream_comp_name->str);
- assert(src_comp);
+ BT_ASSERT(src_comp);
dst_comp = find_component(cfg,
connection->downstream_comp_name->str);
- assert(dst_comp);
+ BT_ASSERT(dst_comp);
if (src_comp->type == BT_COMPONENT_CLASS_TYPE_SOURCE) {
if (dst_comp->type != BT_COMPONENT_CLASS_TYPE_FILTER &&
goto end;
}
- BT_PUT(src_comp);
- BT_PUT(dst_comp);
+ BT_OBJECT_PUT_REF_AND_RESET(src_comp);
+ BT_OBJECT_PUT_REF_AND_RESET(dst_comp);
}
end:
- bt_put(src_comp);
- bt_put(dst_comp);
+ bt_object_put_ref(src_comp);
+ bt_object_put_ref(dst_comp);
return ret;
}
size_t conn_i;
const char *src_comp_name;
- assert(path && path->len > 0);
+ BT_ASSERT(path && path->len > 0);
src_comp_name = g_ptr_array_index(path, path->len - 1);
for (conn_i = 0; conn_i < cfg->cmd_data.run.connections->len; conn_i++) {
}
static int validate_all_components_connected_in_array(GPtrArray *comps,
- struct bt_value *connected_components,
+ const bt_value *connected_components,
char *error_buf, size_t error_buf_size)
{
int ret = 0;
for (i = 0; i < comps->len; i++) {
struct bt_config_component *comp = g_ptr_array_index(comps, i);
- if (!bt_value_map_has_key(connected_components,
+ if (!bt_value_map_has_entry(connected_components,
comp->instance_name->str)) {
snprintf(error_buf, error_buf_size,
"Component `%s` is not connected\n",
{
size_t i;
int ret = 0;
- struct bt_value *connected_components = bt_value_map_create();
+ bt_value *connected_components = bt_value_map_create();
if (!connected_components) {
ret = -1;
struct bt_config_connection *connection =
g_ptr_array_index(cfg->cmd_data.run.connections, i);
- ret = bt_value_map_insert(connected_components,
+ ret = bt_value_map_insert_entry(connected_components,
connection->upstream_comp_name->str, bt_value_null);
if (ret) {
goto end;
}
- ret = bt_value_map_insert(connected_components,
+ ret = bt_value_map_insert_entry(connected_components,
connection->downstream_comp_name->str, bt_value_null);
if (ret) {
goto end;
}
ret = validate_all_components_connected_in_array(
- cfg->cmd_data.run.sources, connected_components,
+ cfg->cmd_data.run.sources,
+ connected_components,
error_buf, error_buf_size);
if (ret) {
goto end;
}
ret = validate_all_components_connected_in_array(
- cfg->cmd_data.run.filters, connected_components,
+ cfg->cmd_data.run.filters,
+ connected_components,
error_buf, error_buf_size);
if (ret) {
goto end;
}
ret = validate_all_components_connected_in_array(
- cfg->cmd_data.run.sinks, connected_components,
+ cfg->cmd_data.run.sinks,
+ connected_components,
error_buf, error_buf_size);
if (ret) {
goto end;
}
end:
- bt_put(connected_components);
+ bt_value_put_ref(connected_components);
return ret;
}
{
size_t i;
int ret = 0;
- struct bt_value *flat_connection_names = bt_value_map_create();
+ bt_value *flat_connection_names =
+ bt_value_map_create();
GString *flat_connection_name = NULL;
if (!flat_connection_names) {
connection->downstream_comp_name->str,
connection->downstream_port_glob->str);
- if (bt_value_map_has_key(flat_connection_names,
- flat_connection_name->str)) {
+ if (bt_value_map_has_entry(flat_connection_names,
+ flat_connection_name->str)) {
snprintf(error_buf, error_buf_size,
"Duplicate connection:\n %s\n",
connection->arg->str);
goto end;
}
- ret = bt_value_map_insert(flat_connection_names,
+ ret = bt_value_map_insert_entry(flat_connection_names,
flat_connection_name->str, bt_value_null);
if (ret) {
goto end;
}
end:
- bt_put(flat_connection_names);
+ bt_value_put_ref(flat_connection_names);
if (flat_connection_name) {
g_string_free(flat_connection_name, TRUE);
}
int bt_config_cli_args_create_connections(struct bt_config *cfg,
- struct bt_value *connection_args,
+ const bt_value *connection_args,
char *error_buf, size_t error_buf_size)
{
int ret;
goto error;
}
- for (i = 0; i < bt_value_array_size(connection_args); i++) {
- struct bt_value *arg_value =
- bt_value_array_get(connection_args, i);
+ for (i = 0; i < bt_value_array_get_size(connection_args); i++) {
+ const bt_value *arg_value =
+ bt_value_array_borrow_element_by_index_const(
+ connection_args, i);
const char *arg;
struct bt_config_connection *cfg_connection;
- ret = bt_value_string_get(arg_value, &arg);
- BT_PUT(arg_value);
- assert(ret == 0);
+ arg = bt_value_string_get(arg_value);
cfg_connection = cfg_connection_from_arg(arg);
if (!cfg_connection) {
snprintf(error_buf, error_buf_size, "Cannot parse --connect option's argument:\n %s\n",