/*
- * attributes.c
- *
- * Babeltrace trace IR - Attributes
- *
* Copyright (c) 2015 EfficiOS Inc. and Linux Foundation
* Copyright (c) 2015 Philippe Proulx <pproulx@efficios.com>
*
void bt_attributes_destroy(struct bt_private_value *attr_obj)
{
BT_LOGD("Destroying attributes object: addr=%p", attr_obj);
- bt_object_put_ref(attr_obj);
+ BT_OBJECT_PUT_REF_AND_RESET(attr_obj);
}
BT_HIDDEN
int64_t bt_attributes_get_count(struct bt_private_value *attr_obj)
{
- return bt_value_array_get_size(bt_value_borrow_from_private(attr_obj));
+ return bt_value_array_get_size(bt_private_value_borrow_value(attr_obj));
}
BT_HIDDEN
const char *bt_attributes_get_field_name(struct bt_private_value *attr_obj,
uint64_t index)
{
- int rc;
const char *ret = NULL;
struct bt_private_value *attr_field_obj = NULL;
struct bt_private_value *attr_field_name_obj = NULL;
}
if (index >= bt_value_array_get_size(
- bt_value_borrow_from_private(attr_obj))) {
+ bt_private_value_borrow_value(attr_obj))) {
BT_LOGW("Invalid parameter: index is out of bounds: "
"index=%" PRIu64 ", count=%" PRId64,
index, bt_value_array_get_size(
- bt_value_borrow_from_private(attr_obj)));
+ bt_private_value_borrow_value(attr_obj)));
goto end;
}
goto end;
}
- rc = bt_value_string_get(
- bt_value_borrow_from_private(attr_field_name_obj), &ret);
- if (rc) {
- BT_LOGE("Cannot get raw value from string value: value-addr=%p",
- attr_field_name_obj);
- ret = NULL;
- }
+ ret = bt_value_string_get(
+ bt_private_value_borrow_value(attr_field_name_obj));
end:
return ret;
goto end;
}
- if (index >= bt_value_array_get_size(bt_value_borrow_from_private(attr_obj))) {
+ if (index >= bt_value_array_get_size(bt_private_value_borrow_value(attr_obj))) {
BT_LOGW("Invalid parameter: index is out of bounds: "
"index=%" PRIu64 ", count=%" PRId64,
index, bt_value_array_get_size(
- bt_value_borrow_from_private(attr_obj)));
+ bt_private_value_borrow_value(attr_obj)));
goto end;
}
struct bt_private_value *attr_field_name_obj = NULL;
attr_size = bt_value_array_get_size(
- bt_value_borrow_from_private(attr_obj));
+ bt_private_value_borrow_value(attr_obj));
if (attr_size < 0) {
BT_LOGE("Cannot get array value's size: value-addr=%p",
attr_obj);
}
for (i = 0; i < attr_size; ++i) {
- int ret;
const char *field_name;
value_obj = bt_private_value_array_borrow_element_by_index(
goto error;
}
- ret = bt_value_string_get(
- bt_value_borrow_from_private(attr_field_name_obj),
- &field_name);
- if (ret) {
- BT_LOGE("Cannot get raw value from string value: value-addr=%p",
- attr_field_name_obj);
- goto error;
- }
+ field_name = bt_value_string_get(
+ bt_private_value_borrow_value(attr_field_name_obj));
if (!strcmp(field_name, name)) {
break;
if (attr_field_obj) {
ret = bt_private_value_array_set_element_by_index(
attr_field_obj, BT_ATTR_VALUE_INDEX,
- bt_value_borrow_from_private(value_obj));
+ bt_private_value_borrow_value(value_obj));
attr_field_obj = NULL;
goto end;
}
ret = bt_private_value_array_append_string_element(attr_field_obj,
name);
ret |= bt_private_value_array_append_element(attr_field_obj,
- bt_value_borrow_from_private(value_obj));
+ bt_private_value_borrow_value(value_obj));
if (ret) {
BT_LOGE("Cannot append elements to array value: addr=%p",
attr_field_obj);
}
ret = bt_private_value_array_append_element(attr_obj,
- bt_value_borrow_from_private(attr_field_obj));
+ bt_private_value_borrow_value(attr_field_obj));
if (ret) {
BT_LOGE("Cannot append element to array value: "
"array-value-addr=%p, element-value-addr=%p",
}
BT_LOGD("Freezing attributes object: value-addr=%p", attr_obj);
- count = bt_value_array_get_size(bt_value_borrow_from_private(attr_obj));
+ count = bt_value_array_get_size(bt_private_value_borrow_value(attr_obj));
BT_ASSERT(count >= 0);
/*
goto end;
}
- bt_value_freeze(bt_value_borrow_from_private(obj));
+ bt_value_freeze(bt_private_value_borrow_value(obj));
}
end: