}
entry->comp_cls = (void *) comp_cls;
- bt_object_get_no_null_check(entry->comp_cls);
+ bt_object_get_ref_no_null_check(entry->comp_cls);
bt_component_class_freeze(entry->comp_cls);
entry->params = (void *) params;
- bt_object_get_no_null_check(entry->params);
+ bt_object_get_ref_no_null_check(entry->params);
bt_value_freeze(entry->params);
entry->init_method_data = init_method_data;
bt_object_init_shared_with_parent(&component->base, destroy_component);
component->class = component_class;
- bt_object_get_no_null_check(component->class);
+ bt_object_get_ref_no_null_check(component->class);
component->destroy = component_destroy_funcs[type];
component->name = g_string_new(name);
if (!component->name) {
}
graph->interrupters = g_ptr_array_new_with_free_func(
- (GDestroyNotify) bt_object_put_no_null_check);
+ (GDestroyNotify) bt_object_put_ref_no_null_check);
if (!graph->interrupters) {
BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate one GPtrArray.");
goto error;
BT_ASSERT_PRE_NON_NULL(graph, "Graph");
BT_ASSERT_PRE_NON_NULL(intr, "Interrupter");
g_ptr_array_add(graph->interrupters, (void *) intr);
- bt_object_get_no_null_check(intr);
+ bt_object_get_ref_no_null_check(intr);
BT_LIB_LOGD("Added interrupter to graph: %![graph-]+g, %![intr-]+z",
graph, intr);
return BT_FUNC_STATUS_OK;
if (iterator->auto_seek.msgs) {
while (!g_queue_is_empty(iterator->auto_seek.msgs)) {
- bt_object_put_no_null_check(
+ bt_object_put_ref_no_null_check(
g_queue_pop_tail(iterator->auto_seek.msgs));
}
break;
}
- bt_object_put_no_null_check(msg);
+ bt_object_put_ref_no_null_check(msg);
msg = NULL;
goto end;
end:
for (i = 0; i < user_count; i++) {
if (messages[i]) {
- bt_object_put_no_null_check(messages[i]);
+ bt_object_put_ref_no_null_check(messages[i]);
}
}
* message queue.
*/
while (!g_queue_is_empty(iterator->auto_seek.msgs)) {
- bt_object_put_no_null_check(
+ bt_object_put_ref_no_null_check(
g_queue_pop_tail(iterator->auto_seek.msgs));
}
bt_message_init(&message->parent, type,
destroy_discarded_items_message, NULL);
message->stream = stream;
- bt_object_get_no_null_check(message->stream);
+ bt_object_get_ref_no_null_check(message->stream);
if (with_cs) {
BT_ASSERT(stream_class->default_clock_class);
message->default_cs = bt_clock_snapshot_create(
stream_class->default_clock_class);
if (!message->default_cs) {
- bt_object_put_no_null_check(message);
+ bt_object_put_ref_no_null_check(message);
message = NULL;
goto end;
}
BT_ASSERT(!message->packet);
message->packet = packet;
- bt_object_get_no_null_check_no_parent_check(
+ bt_object_get_ref_no_null_check_no_parent_check(
&message->packet->base);
bt_packet_set_is_frozen(packet, true);
BT_LIB_LOGD("Created packet message object: "
BT_LIB_LOGD("Recycling packet message: %!+n", msg);
bt_message_reset(msg);
- bt_object_put_no_null_check(&packet_msg->packet->base);
+ bt_object_put_ref_no_null_check(&packet_msg->packet->base);
if (packet_msg->default_cs) {
bt_clock_snapshot_recycle(packet_msg->default_cs);
bt_message_init(&message->parent, type,
destroy_stream_message, NULL);
message->stream = stream;
- bt_object_get_no_null_check(message->stream);
+ bt_object_get_ref_no_null_check(message->stream);
if (stream_class->default_clock_class) {
message->default_cs = bt_clock_snapshot_create(
}
query_exec->interrupters = g_ptr_array_new_with_free_func(
- (GDestroyNotify) bt_object_put_no_null_check);
+ (GDestroyNotify) bt_object_put_ref_no_null_check);
if (!query_exec->interrupters) {
BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate one GPtrArray.");
BT_OBJECT_PUT_REF_AND_RESET(query_exec);
}
query_exec->comp_cls = comp_cls;
- bt_object_get_no_null_check(query_exec->comp_cls);
+ bt_object_get_ref_no_null_check(query_exec->comp_cls);
if (!params) {
query_exec->params = bt_value_null;
query_exec->params = params;
}
- bt_object_get_no_null_check(query_exec->params);
+ bt_object_get_ref_no_null_check(query_exec->params);
query_exec->method_data = method_data;
query_exec->log_level = BT_LOGGING_LEVEL_NONE;
bt_query_executor_add_interrupter(query_exec,
BT_ASSERT_PRE_NON_NULL(query_exec, "Query executor");
BT_ASSERT_PRE_NON_NULL(intr, "Interrupter");
g_ptr_array_add(query_exec->interrupters, (void *) intr);
- bt_object_get_no_null_check(intr);
+ bt_object_get_ref_no_null_check(intr);
BT_LIB_LOGD("Added interrupter to query executor: "
"query-exec-addr=%p, %![intr-]+z",
query_exec, intr);
struct bt_object *);
static inline
-void bt_object_get_no_null_check(const void *obj);
+void bt_object_get_ref_no_null_check(const void *obj);
static inline
-void bt_object_put_no_null_check(const void *obj);
+void bt_object_put_ref_no_null_check(const void *obj);
/*
* Babeltrace object base.
struct bt_object *parent = bt_object_borrow_parent(obj);
if (parent) {
- bt_object_get_no_null_check(parent);
+ bt_object_get_ref_no_null_check(parent);
}
return parent;
if (parent) {
BT_ASSERT(!child->parent);
child->parent = parent;
- bt_object_get_no_null_check(parent);
+ bt_object_get_ref_no_null_check(parent);
} else {
if (child->parent) {
- bt_object_put_no_null_check(child->parent);
+ bt_object_put_ref_no_null_check(child->parent);
}
child->parent = NULL;
}
/* The release function will be invoked by the parent. */
- bt_object_put_no_null_check(parent);
+ bt_object_put_ref_no_null_check(parent);
} else {
bt_object_try_spec_release(obj);
}
}
static inline
-void bt_object_get_no_null_check_no_parent_check(const struct bt_object *c_obj)
+void bt_object_get_ref_no_null_check_no_parent_check(const struct bt_object *c_obj)
{
struct bt_object *obj = (void *) c_obj;
}
static inline
-void bt_object_get_no_null_check(const void *c_obj)
+void bt_object_get_ref_no_null_check(const void *c_obj)
{
struct bt_object *obj = (void *) c_obj;
"addr=%p, parent-addr=%p", obj, obj->parent);
#endif
- bt_object_get_no_null_check(obj->parent);
+ bt_object_get_ref_no_null_check(obj->parent);
}
#ifdef _BT_OBJECT_LOGGING_ENABLED
}
static inline
-void bt_object_put_no_null_check(const void *c_obj)
+void bt_object_put_ref_no_null_check(const void *c_obj)
{
struct bt_object *obj = (void *) c_obj;
BT_ASSERT_PRE_DEV(obj->is_shared, "Object is not shared: %!+O", obj);
#endif
- bt_object_get_no_null_check(obj);
+ bt_object_get_ref_no_null_check(obj);
}
static inline
"Decrementing a reference count set to 0: %!+O", ptr);
#endif
- bt_object_put_no_null_check(obj);
+ bt_object_put_ref_no_null_check(obj);
}
#define BT_OBJECT_PUT_REF_AND_RESET(_var) \
spec = plugin->spec_data;
spec->shared_lib_handle = shared_lib_handle;
- bt_object_get_no_null_check(spec->shared_lib_handle);
+ bt_object_get_ref_no_null_check(spec->shared_lib_handle);
goto end;
error:
bt_list_add(&comp_class->node, &component_class_list);
comp_class->so_handle = spec->shared_lib_handle;
- bt_object_get_no_null_check(comp_class->so_handle);
+ bt_object_get_ref_no_null_check(comp_class->so_handle);
/* Add our custom destroy listener */
bt_component_class_add_destroy_listener(comp_class,
if (strcmp(plugin->info.name->str, plugin_name) == 0) {
*plugin_out = plugin;
- bt_object_get_no_null_check(*plugin_out);
+ bt_object_get_ref_no_null_check(*plugin_out);
goto end;
}
}
BT_ASSERT_PRE(user_attributes->type == BT_VALUE_TYPE_MAP,
"User attributes object is not a map value object.");
BT_ASSERT_PRE_DEV_CLOCK_CLASS_HOT(clock_class);
- bt_object_put_no_null_check(clock_class->user_attributes);
+ bt_object_put_ref_no_null_check(clock_class->user_attributes);
clock_class->user_attributes = (void *) user_attributes;
- bt_object_get_no_null_check(clock_class->user_attributes);
+ bt_object_get_ref_no_null_check(clock_class->user_attributes);
}
void bt_clock_class_get_ref(const struct bt_clock_class *clock_class)
bt_object_init_unique(&ret->base);
ret->clock_class = clock_class;
- bt_object_get_no_null_check(clock_class);
+ bt_object_get_ref_no_null_check(clock_class);
bt_clock_class_freeze(clock_class);
BT_LIB_LOGD("Created clock snapshot object: %!+k", ret);
if (G_LIKELY(!clock_snapshot->clock_class)) {
clock_snapshot->clock_class = clock_class;
- bt_object_get_no_null_check(clock_class);
+ bt_object_get_ref_no_null_check(clock_class);
}
end:
bt_field_class_make_part_of_trace_class(field_class);
bt_object_put_ref(event_class->specific_context_fc);
event_class->specific_context_fc = field_class;
- bt_object_get_no_null_check(event_class->specific_context_fc);
+ bt_object_get_ref_no_null_check(event_class->specific_context_fc);
bt_field_class_freeze(field_class);
BT_LIB_LOGD("Set event class's specific context field class: %!+E",
event_class);
bt_field_class_make_part_of_trace_class(field_class);
bt_object_put_ref(event_class->payload_fc);
event_class->payload_fc = field_class;
- bt_object_get_no_null_check(event_class->payload_fc);
+ bt_object_get_ref_no_null_check(event_class->payload_fc);
bt_field_class_freeze(field_class);
BT_LIB_LOGD("Set event class's payload field class: %!+E", event_class);
BT_ASSERT_PRE(user_attributes->type == BT_VALUE_TYPE_MAP,
"User attributes object is not a map value object.");
BT_ASSERT_PRE_DEV_EVENT_CLASS_HOT(event_class);
- bt_object_put_no_null_check(event_class->user_attributes);
+ bt_object_put_ref_no_null_check(event_class->user_attributes);
event_class->user_attributes = (void *) user_attributes;
- bt_object_get_no_null_check(event_class->user_attributes);
+ bt_object_get_ref_no_null_check(event_class->user_attributes);
}
void bt_event_class_get_ref(const struct bt_event_class *event_class)
BT_ASSERT(event);
BT_LIB_LOGD("Resetting event: %!+e", event);
bt_event_set_is_frozen(event, false);
- bt_object_put_no_null_check(&event->stream->base);
+ bt_object_put_ref_no_null_check(&event->stream->base);
event->stream = NULL;
if (event->packet) {
- bt_object_put_no_null_check(&event->packet->base);
+ bt_object_put_ref_no_null_check(&event->packet->base);
event->packet = NULL;
}
}
BT_ASSERT(event_class);
event->class = NULL;
bt_object_pool_recycle_object(&event_class->event_pool, event);
- bt_object_put_no_null_check(&event_class->base);
+ bt_object_put_ref_no_null_check(&event_class->base);
}
static inline
BT_ASSERT(event->stream->class->supports_packets);
BT_ASSERT(!event->packet);
event->packet = packet;
- bt_object_get_no_null_check_no_parent_check(&event->packet->base);
+ bt_object_get_ref_no_null_check_no_parent_check(&event->packet->base);
BT_LIB_LOGD("Set event's packet: %![event-]+e, %![packet-]+a",
event, packet);
}
"%![event-]+e, %![stream-]+s", event, stream);
BT_ASSERT(!event->stream);
event->stream = stream;
- bt_object_get_no_null_check_no_parent_check(&event->stream->base);
+ bt_object_get_ref_no_null_check_no_parent_check(&event->stream->base);
BT_LIB_LOGD("Set event's stream: %![event-]+e, %![stream-]+s",
event, stream);
}
if (G_LIKELY(!event->class)) {
event->class = event_class;
- bt_object_get_no_null_check(&event_class->base);
+ bt_object_get_ref_no_null_check(&event_class->base);
}
bt_event_set_stream(event, stream);
}
named_fc->fc = fc;
- bt_object_get_no_null_check(named_fc->fc);
+ bt_object_get_ref_no_null_check(named_fc->fc);
end:
return status;
}
opt->range_set = range_set;
- bt_object_get_no_null_check(opt->range_set);
+ bt_object_get_ref_no_null_check(opt->range_set);
bt_integer_range_set_freeze(range_set);
goto end;
}
opt_with_sel_fc->selector_fc = selector_fc;
- bt_object_get_no_null_check(opt_with_sel_fc->selector_fc);
+ bt_object_get_ref_no_null_check(opt_with_sel_fc->selector_fc);
opt_fc = (void *) opt_with_sel_fc;
} else {
opt_fc = g_new0(struct bt_field_class_option, 1);
}
opt_fc->content_fc = content_fc;
- bt_object_get_no_null_check(opt_fc->content_fc);
+ bt_object_get_ref_no_null_check(opt_fc->content_fc);
bt_field_class_freeze(opt_fc->content_fc);
if (selector_fc) {
}
fc->range_set = range_set;
- bt_object_get_no_null_check(fc->range_set);
+ bt_object_get_ref_no_null_check(fc->range_set);
bt_integer_range_set_freeze(range_set);
end:
}
fc->range_set = range_set;
- bt_object_get_no_null_check(fc->range_set);
+ bt_object_get_ref_no_null_check(fc->range_set);
bt_integer_range_set_freeze(range_set);
end:
}
var_with_sel_fc->selector_fc = selector_fc;
- bt_object_get_no_null_check(var_with_sel_fc->selector_fc);
+ bt_object_get_ref_no_null_check(var_with_sel_fc->selector_fc);
bt_field_class_freeze(selector_fc);
var_fc = (void *) var_with_sel_fc;
} else {
}
fc->element_fc = element_fc;
- bt_object_get_no_null_check(fc->element_fc);
+ bt_object_get_ref_no_null_check(fc->element_fc);
bt_field_class_freeze(element_fc);
end:
BT_ASSERT_PRE_FC_IS_UNSIGNED_INT(length_fc,
"Length field class");
array_fc->length_fc = length_fc;
- bt_object_get_no_null_check(array_fc->length_fc);
+ bt_object_get_ref_no_null_check(array_fc->length_fc);
bt_field_class_freeze(length_fc);
}
BT_ASSERT_PRE(user_attributes->type == BT_VALUE_TYPE_MAP,
"User attributes object is not a map value object.");
BT_ASSERT_PRE_DEV_FC_HOT(fc, "Field class");
- bt_object_put_no_null_check(fc->user_attributes);
+ bt_object_put_ref_no_null_check(fc->user_attributes);
fc->user_attributes = (void *) user_attributes;
- bt_object_get_no_null_check(fc->user_attributes);
+ bt_object_get_ref_no_null_check(fc->user_attributes);
}
static
BT_ASSERT_PRE_DEV_HOT(named_fc,
"Structure field class member or variant field class option",
".");
- bt_object_put_no_null_check(named_fc->user_attributes);
+ bt_object_put_ref_no_null_check(named_fc->user_attributes);
named_fc->user_attributes = (void *) user_attributes;
- bt_object_get_no_null_check(named_fc->user_attributes);
+ bt_object_get_ref_no_null_check(named_fc->user_attributes);
}
const struct bt_value *
bt_object_init_unique(&field->base);
field->methods = methods;
field->class = fc;
- bt_object_get_no_null_check(fc);
+ bt_object_get_ref_no_null_check(fc);
}
static
BT_ASSERT(stream);
packet->stream = NULL;
bt_object_pool_recycle_object(&stream->packet_pool, packet);
- bt_object_put_no_null_check(&stream->base);
+ bt_object_put_ref_no_null_check(&stream->base);
}
BT_HIDDEN
bt_object_init_shared(&packet->base,
(bt_object_release_func) bt_packet_recycle);
packet->stream = stream;
- bt_object_get_no_null_check(stream);
+ bt_object_get_ref_no_null_check(stream);
trace_class = bt_stream_class_borrow_trace_class_inline(stream->class);
BT_ASSERT(trace_class);
if (G_LIKELY(!packet->stream)) {
packet->stream = stream;
- bt_object_get_no_null_check_no_parent_check(
+ bt_object_get_ref_no_null_check_no_parent_check(
&packet->stream->base);
}
bt_field_class_make_part_of_trace_class(field_class);
bt_object_put_ref(stream_class->packet_context_fc);
stream_class->packet_context_fc = field_class;
- bt_object_get_no_null_check(stream_class->packet_context_fc);
+ bt_object_get_ref_no_null_check(stream_class->packet_context_fc);
bt_field_class_freeze(field_class);
BT_LIB_LOGD("Set stream class's packet context field class: %!+S",
stream_class);
bt_field_class_make_part_of_trace_class(field_class);
bt_object_put_ref(stream_class->event_common_context_fc);
stream_class->event_common_context_fc = field_class;
- bt_object_get_no_null_check(stream_class->event_common_context_fc);
+ bt_object_get_ref_no_null_check(stream_class->event_common_context_fc);
bt_field_class_freeze(field_class);
BT_LIB_LOGD("Set stream class's event common context field class: %!+S",
stream_class);
BT_ASSERT_PRE_DEV_STREAM_CLASS_HOT(stream_class);
bt_object_put_ref(stream_class->default_clock_class);
stream_class->default_clock_class = clock_class;
- bt_object_get_no_null_check(stream_class->default_clock_class);
+ bt_object_get_ref_no_null_check(stream_class->default_clock_class);
bt_clock_class_freeze(clock_class);
BT_LIB_LOGD("Set stream class's default clock class: %!+S",
stream_class);
BT_ASSERT_PRE(user_attributes->type == BT_VALUE_TYPE_MAP,
"User attributes object is not a map value object.");
BT_ASSERT_PRE_DEV_STREAM_CLASS_HOT(stream_class);
- bt_object_put_no_null_check(stream_class->user_attributes);
+ bt_object_put_ref_no_null_check(stream_class->user_attributes);
stream_class->user_attributes = (void *) user_attributes;
- bt_object_get_no_null_check(stream_class->user_attributes);
+ bt_object_get_ref_no_null_check(stream_class->user_attributes);
}
void bt_stream_class_get_ref(const struct bt_stream_class *stream_class)
}
stream->class = stream_class;
- bt_object_get_no_null_check(stream_class);
+ bt_object_get_ref_no_null_check(stream_class);
/* bt_trace_add_stream() sets the parent trace, and freezes the trace */
bt_trace_add_stream(trace, stream);
BT_ASSERT_PRE(user_attributes->type == BT_VALUE_TYPE_MAP,
"User attributes object is not a map value object.");
BT_ASSERT_PRE_DEV_STREAM_HOT(stream);
- bt_object_put_no_null_check(stream->user_attributes);
+ bt_object_put_ref_no_null_check(stream->user_attributes);
stream->user_attributes = (void *) user_attributes;
- bt_object_get_no_null_check(stream->user_attributes);
+ bt_object_get_ref_no_null_check(stream->user_attributes);
}
void bt_stream_get_ref(const struct bt_stream *stream)
BT_ASSERT_PRE(user_attributes->type == BT_VALUE_TYPE_MAP,
"User attributes object is not a map value object.");
BT_ASSERT_PRE_DEV_TRACE_CLASS_HOT(trace_class);
- bt_object_put_no_null_check(trace_class->user_attributes);
+ bt_object_put_ref_no_null_check(trace_class->user_attributes);
trace_class->user_attributes = (void *) user_attributes;
- bt_object_get_no_null_check(trace_class->user_attributes);
+ bt_object_get_ref_no_null_check(trace_class->user_attributes);
}
void bt_trace_class_get_ref(const struct bt_trace_class *trace_class)
}
trace->class = tc;
- bt_object_get_no_null_check(trace->class);
+ bt_object_get_ref_no_null_check(trace->class);
BT_LIB_LOGD("Created trace object: %!+t", trace);
goto end;
BT_ASSERT_PRE(user_attributes->type == BT_VALUE_TYPE_MAP,
"User attributes object is not a map value object.");
BT_ASSERT_PRE_DEV_TRACE_HOT(trace);
- bt_object_put_no_null_check(trace->user_attributes);
+ bt_object_put_ref_no_null_check(trace->user_attributes);
trace->user_attributes = (void *) user_attributes;
- bt_object_get_no_null_check(trace->user_attributes);
+ bt_object_get_ref_no_null_check(trace->user_attributes);
}
void bt_trace_get_ref(const struct bt_trace *trace)
{
BT_ASSERT(null_obj == bt_value_null);
- bt_object_get_no_null_check(bt_value_null);
+ bt_object_get_ref_no_null_check(bt_value_null);
return (void *) bt_value_null;
}