#include <babeltrace/ctf-writer/visitor-internal.h>
#include <babeltrace/ctf-writer/writer-internal.h>
#include <babeltrace/endian-internal.h>
-#include <babeltrace/ref.h>
+#include <babeltrace/object.h>
#include <babeltrace/types.h>
#include <babeltrace/values-internal.h>
#include <babeltrace/values.h>
trace->native_byte_order = BT_CTF_BYTE_ORDER_UNSPECIFIED;
bt_object_init_shared_with_parent(&trace->base, release_func);
trace->clock_classes = g_ptr_array_new_with_free_func(
- (GDestroyNotify) bt_put);
+ (GDestroyNotify) bt_object_put_ref);
if (!trace->clock_classes) {
BT_LOGE_STR("Failed to allocate one GPtrArray.");
goto error;
}
BT_LOGD_STR("Putting packet header field type.");
- bt_put(trace->packet_header_field_type);
+ bt_object_put_ref(trace->packet_header_field_type);
}
BT_HIDDEN
BT_HIDDEN
int bt_ctf_trace_common_set_environment_field(struct bt_ctf_trace_common *trace,
- const char *name, struct bt_value *value)
+ const char *name, struct bt_private_value *value)
{
int ret = 0;
goto end;
}
- if (!bt_value_is_integer(value) && !bt_value_is_string(value)) {
+ if (!bt_value_is_integer(bt_private_value_borrow_value(value)) &&
+ !bt_value_is_string(bt_private_value_borrow_value(value))) {
BT_LOGW("Invalid parameter: environment field's value is not an integer or string value: "
"trace-addr=%p, trace-name=\"%s\", "
"env-name=\"%s\", env-value-type=%s",
trace, bt_ctf_trace_common_get_name(trace), name,
- bt_value_type_string(bt_value_get_type(value)));
+ bt_common_value_type_string(
+ bt_value_get_type(
+ bt_private_value_borrow_value(value))));
ret = -1;
goto end;
}
*
* The object passed is frozen like all other attributes.
*/
- struct bt_value *attribute =
+ struct bt_private_value *attribute =
bt_ctf_attributes_borrow_field_value_by_name(
trace->environment, name);
goto end;
}
- bt_value_freeze(value);
+ bt_value_freeze(bt_private_value_borrow_value(value));
}
ret = bt_ctf_attributes_set_field_value(trace->environment, name,
const char *name, const char *value)
{
int ret = 0;
- struct bt_value *env_value_string_obj = NULL;
+ struct bt_private_value *env_value_string_obj = NULL;
if (!value) {
BT_LOGW_STR("Invalid parameter: value is NULL.");
goto end;
}
- env_value_string_obj = bt_value_string_create_init(value);
+ env_value_string_obj = bt_private_value_string_create_init(value);
if (!env_value_string_obj) {
BT_LOGE_STR("Cannot create string value object.");
ret = -1;
env_value_string_obj);
end:
- bt_put(env_value_string_obj);
+ bt_object_put_ref(env_value_string_obj);
return ret;
}
struct bt_ctf_trace_common *trace, const char *name, int64_t value)
{
int ret = 0;
- struct bt_value *env_value_integer_obj = NULL;
+ struct bt_private_value *env_value_integer_obj = NULL;
- env_value_integer_obj = bt_value_integer_create_init(value);
+ env_value_integer_obj = bt_private_value_integer_create_init(value);
if (!env_value_integer_obj) {
BT_LOGE_STR("Cannot create integer value object.");
ret = -1;
env_value_integer_obj);
end:
- bt_put(env_value_integer_obj);
+ bt_object_put_ref(env_value_integer_obj);
return ret;
}
goto end;
}
- bt_get(clock_class);
+ bt_object_get_ref(clock_class);
g_ptr_array_add(trace->clock_classes, clock_class);
if (trace->frozen) {
ret = bt_ctf_field_type_common_validate_single_clock_class(
trace->packet_header_field_type,
&clock_class);
- bt_put(clock_class);
+ bt_object_put_ref(clock_class);
if (ret || clock_class) {
BT_LOGW("Trace's packet header field type cannot "
"contain a field type which is mapped to "
int64_t event_class_count;
struct bt_ctf_trace_common *current_parent_trace = NULL;
struct bt_ctf_clock_class *expected_clock_class =
- bt_get(init_expected_clock_class);
+ bt_object_get_ref(init_expected_clock_class);
BT_ASSERT(copy_field_type_func);
* now because the stream class is frozen.
*/
if (expected_clock_class) {
- BT_MOVE(stream_class->clock_class, expected_clock_class);
+ BT_OBJECT_MOVE_REF(stream_class->clock_class, expected_clock_class);
}
BT_LOGD("Added stream class to trace: "
g_free(ec_validation_outputs);
bt_ctf_validation_output_put_types(&trace_sc_validation_output);
- bt_put(expected_clock_class);
+ bt_object_put_ref(expected_clock_class);
return ret;
}
goto end;
}
- bt_put(trace->packet_header_field_type);
- trace->packet_header_field_type = bt_get(packet_header_type);
+ bt_object_put_ref(trace->packet_header_field_type);
+ trace->packet_header_field_type = bt_object_get_ref(packet_header_type);
BT_LOGV("Set trace's packet header field type: "
"addr=%p, name=\"%s\", packet-context-ft-addr=%p",
trace, bt_ctf_trace_common_get_name(trace), packet_header_type);
return trace;
error:
- BT_PUT(trace);
+ BT_OBJECT_PUT_REF_AND_RESET(trace);
return trace;
}
return bt_ctf_trace_common_set_uuid(BT_CTF_TO_COMMON(trace), uuid);
}
-int bt_ctf_trace_set_environment_field(struct bt_ctf_trace *trace,
- const char *name, struct bt_value *value)
-{
- return bt_ctf_trace_common_set_environment_field(BT_CTF_TO_COMMON(trace),
- name, value);
-}
-
int bt_ctf_trace_set_environment_field_string(struct bt_ctf_trace *trace,
const char *name, const char *value)
{
struct bt_value *bt_ctf_trace_get_environment_field_value_by_index(
struct bt_ctf_trace *trace, uint64_t index)
{
- return bt_get(bt_ctf_trace_common_borrow_environment_field_value_by_index(
+ return bt_object_get_ref(bt_ctf_trace_common_borrow_environment_field_value_by_index(
BT_CTF_TO_COMMON(trace), index));
}
struct bt_value *bt_ctf_trace_get_environment_field_value_by_name(
struct bt_ctf_trace *trace, const char *name)
{
- return bt_get(bt_ctf_trace_common_borrow_environment_field_value_by_name(
+ return bt_object_get_ref(bt_ctf_trace_common_borrow_environment_field_value_by_name(
BT_CTF_TO_COMMON(trace), name));
}
struct bt_ctf_clock_class *bt_ctf_trace_get_clock_class_by_index(
struct bt_ctf_trace *trace, uint64_t index)
{
- return bt_get(bt_ctf_trace_common_borrow_clock_class_by_index(
+ return bt_object_get_ref(bt_ctf_trace_common_borrow_clock_class_by_index(
BT_CTF_TO_COMMON(trace), index));
}
struct bt_ctf_stream *bt_ctf_trace_get_stream_by_index(
struct bt_ctf_trace *trace, uint64_t index)
{
- return bt_get(bt_ctf_trace_common_borrow_stream_by_index(
+ return bt_object_get_ref(bt_ctf_trace_common_borrow_stream_by_index(
BT_CTF_TO_COMMON(trace), index));
}
struct bt_ctf_stream_class *bt_ctf_trace_get_stream_class_by_index(
struct bt_ctf_trace *trace, uint64_t index)
{
- return bt_get(bt_ctf_trace_common_borrow_stream_class_by_index(
+ return bt_object_get_ref(bt_ctf_trace_common_borrow_stream_class_by_index(
BT_CTF_TO_COMMON(trace), index));
}
struct bt_ctf_stream_class *bt_ctf_trace_get_stream_class_by_id(
struct bt_ctf_trace *trace, uint64_t id)
{
- return bt_get(bt_ctf_trace_common_borrow_stream_class_by_id(
+ return bt_object_get_ref(bt_ctf_trace_common_borrow_stream_class_by_id(
BT_CTF_TO_COMMON(trace), id));
}
struct bt_ctf_clock_class *bt_ctf_trace_get_clock_class_by_name(
struct bt_ctf_trace *trace, const char *name)
{
- return bt_get(
+ return bt_object_get_ref(
bt_ctf_trace_common_borrow_clock_class_by_name(BT_CTF_TO_COMMON(trace),
name));
}
g_string_append(context->string, "env {\n");
for (i = 0; i < env_size; i++) {
- struct bt_value *env_field_value_obj = NULL;
+ struct bt_private_value *env_field_value_obj = NULL;
const char *entry_name;
entry_name = bt_ctf_attributes_get_field_name(
BT_ASSERT(entry_name);
BT_ASSERT(env_field_value_obj);
- switch (bt_value_get_type(env_field_value_obj)) {
+ switch (bt_value_get_type(
+ bt_private_value_borrow_value(env_field_value_obj))) {
case BT_VALUE_TYPE_INTEGER:
{
- int ret;
int64_t int_value;
- ret = bt_value_integer_get(env_field_value_obj,
- &int_value);
- BT_ASSERT(ret == 0);
+ int_value = bt_value_integer_get(
+ bt_private_value_borrow_value(
+ env_field_value_obj));
g_string_append_printf(context->string,
"\t%s = %" PRId64 ";\n", entry_name,
int_value);
}
case BT_VALUE_TYPE_STRING:
{
- int ret;
const char *str_value;
char *escaped_str = NULL;
- ret = bt_value_string_get(env_field_value_obj,
- &str_value);
- BT_ASSERT(ret == 0);
+ str_value = bt_value_string_get(
+ bt_private_value_borrow_value(
+ env_field_value_obj));
escaped_str = g_strescape(str_value, NULL);
if (!escaped_str) {
BT_LOGE("Cannot escape string: string=\"%s\"",
struct bt_ctf_field_type *bt_ctf_trace_get_packet_header_field_type(
struct bt_ctf_trace *trace)
{
- return bt_get(bt_ctf_trace_common_borrow_packet_header_field_type(
+ return bt_object_get_ref(bt_ctf_trace_common_borrow_packet_header_field_type(
BT_CTF_TO_COMMON(trace)));
}