X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=plugins%2Flttng-utils%2Fcopy.c;h=00ec45b71afb91464830f10bbc72be50c4a0c4b7;hb=d6e69534ef08a2dd8bff9eb5af1eab63736b3d31;hp=0d85507535e1c2c57d38805bdc81f8f3fc005664;hpb=864cad701843d041ae0c9113fc2c20f9b3e1835d;p=babeltrace.git diff --git a/plugins/lttng-utils/copy.c b/plugins/lttng-utils/copy.c index 0d855075..00ec45b7 100644 --- a/plugins/lttng-utils/copy.c +++ b/plugins/lttng-utils/copy.c @@ -37,27 +37,27 @@ #include "debug-info.h" static -struct bt_stream *insert_new_stream( +const bt_stream *insert_new_stream( struct debug_info_iterator *debug_it, - struct bt_stream *stream, + const bt_stream *stream, struct debug_info_trace *di_trace); static -void unref_stream(struct bt_stream *stream) +void unref_stream(const bt_stream *stream) { - bt_put(stream); + bt_stream_put_ref(stream); } static -void unref_packet(struct bt_packet *packet) +void unref_packet(const bt_packet *packet) { - bt_put(packet); + bt_packet_put_ref(packet); } static -void unref_stream_class(struct bt_stream_class *stream_class) +void unref_stream_class(const bt_stream_class *stream_class) { - bt_put(stream_class); + bt_stream_class_put_ref(stream_class); } static @@ -73,11 +73,11 @@ void destroy_stream_state_key(gpointer key) } static -struct bt_field *get_payload_field(FILE *err, - struct bt_event *event, const char *field_name) +const bt_field *get_payload_field(FILE *err, + const bt_event *event, const char *field_name) { - struct bt_field *field = NULL, *payload = NULL; - struct bt_field_class *payload_class = NULL; + const bt_field *field = NULL, *payload = NULL; + const bt_field_class *payload_class = NULL; payload = bt_event_get_payload(event, NULL); BT_ASSERT(payload); @@ -94,17 +94,17 @@ struct bt_field *get_payload_field(FILE *err, field = bt_field_structure_get_field_by_name(payload, field_name); end: - bt_put(payload_class); - bt_put(payload); + bt_field_class_put_ref(payload_class); + bt_object_put_ref(payload); return field; } static -struct bt_field *get_stream_event_context_field(FILE *err, - struct bt_event *event, const char *field_name) +const bt_field *get_stream_event_context_field(FILE *err, + const bt_event *event, const char *field_name) { - struct bt_field *field = NULL, *sec = NULL; - struct bt_field_class *sec_class = NULL; + const bt_field *field = NULL, *sec = NULL; + const bt_field_class *sec_class = NULL; sec = bt_event_get_stream_event_context(event); if (!sec) { @@ -123,19 +123,19 @@ struct bt_field *get_stream_event_context_field(FILE *err, field = bt_field_structure_get_field_by_name(sec, field_name); end: - bt_put(sec_class); - bt_put(sec); + bt_field_class_put_ref(sec_class); + bt_object_put_ref(sec); return field; } BT_HIDDEN int get_stream_event_context_unsigned_int_field_value(FILE *err, - struct bt_event *event, const char *field_name, + const bt_event *event, const char *field_name, uint64_t *value) { int ret; - struct bt_field *field = NULL; - struct bt_field_class *field_class = NULL; + const bt_field *field = NULL; + const bt_field_class *field_class = NULL; field = get_stream_event_context_field(err, event, field_name); if (!field) { @@ -168,17 +168,17 @@ int get_stream_event_context_unsigned_int_field_value(FILE *err, error: ret = -1; end: - bt_put(field_class); - bt_put(field); + bt_field_class_put_ref(field_class); + bt_object_put_ref(field); return ret; } BT_HIDDEN -int get_stream_event_context_int_field_value(FILE *err, struct bt_event *event, +int get_stream_event_context_int_field_value(FILE *err, const bt_event *event, const char *field_name, int64_t *value) { - struct bt_field *field = NULL; - struct bt_field_class *field_class = NULL; + const bt_field *field = NULL; + const bt_field_class *field_class = NULL; int ret; field = get_stream_event_context_field(err, event, field_name); @@ -206,18 +206,18 @@ int get_stream_event_context_int_field_value(FILE *err, struct bt_event *event, error: ret = -1; end: - bt_put(field_class); - bt_put(field); + bt_field_class_put_ref(field_class); + bt_object_put_ref(field); return ret; } BT_HIDDEN int get_payload_unsigned_int_field_value(FILE *err, - struct bt_event *event, const char *field_name, + const bt_event *event, const char *field_name, uint64_t *value) { - struct bt_field *field = NULL; - struct bt_field_class *field_class = NULL; + const bt_field *field = NULL; + const bt_field_class *field_class = NULL; int ret; field = get_payload_field(err, event, field_name); @@ -252,17 +252,17 @@ int get_payload_unsigned_int_field_value(FILE *err, error: ret = -1; end: - bt_put(field_class); - bt_put(field); + bt_field_class_put_ref(field_class); + bt_object_put_ref(field); return ret; } BT_HIDDEN -int get_payload_int_field_value(FILE *err, struct bt_event *event, +int get_payload_int_field_value(FILE *err, const bt_event *event, const char *field_name, int64_t *value) { - struct bt_field *field = NULL; - struct bt_field_class *field_class = NULL; + const bt_field *field = NULL; + const bt_field_class *field_class = NULL; int ret; field = get_payload_field(err, event, field_name); @@ -296,18 +296,18 @@ int get_payload_int_field_value(FILE *err, struct bt_event *event, error: ret = -1; end: - bt_put(field_class); - bt_put(field); + bt_field_class_put_ref(field_class); + bt_object_put_ref(field); return ret; } BT_HIDDEN int get_payload_string_field_value(FILE *err, - struct bt_event *event, const char *field_name, + const bt_event *event, const char *field_name, const char **value) { - struct bt_field *field = NULL; - struct bt_field_class *field_class = NULL; + const bt_field *field = NULL; + const bt_field_class *field_class = NULL; int ret; /* @@ -340,19 +340,19 @@ int get_payload_string_field_value(FILE *err, error: ret = -1; end: - bt_put(field_class); - bt_put(field); + bt_field_class_put_ref(field_class); + bt_object_put_ref(field); return ret; } BT_HIDDEN int get_payload_build_id_field_value(FILE *err, - struct bt_event *event, const char *field_name, + const bt_event *event, const char *field_name, uint8_t **build_id, uint64_t *build_id_len) { - struct bt_field *field = NULL, *seq_len = NULL; - struct bt_field_class *field_class = NULL; - struct bt_field *seq_field = NULL; + const bt_field *field = NULL, *seq_len = NULL; + const bt_field_class *field_class = NULL; + const bt_field *seq_field = NULL; uint64_t i; int ret; @@ -371,7 +371,7 @@ int get_payload_build_id_field_value(FILE *err, BT_LOGE("Wrong type, expected sequence: field-name=\"%s\"", field_name); goto error; } - BT_PUT(field_class); + BT_FIELD_CLASS_PUT_REF_AND_RESET(field_class); seq_len = bt_field_sequence_get_length(field); BT_ASSERT(seq_len); @@ -382,7 +382,7 @@ int get_payload_build_id_field_value(FILE *err, field_name); goto error; } - BT_PUT(seq_len); + BT_OBJECT_PUT_REF_AND_RESET(seq_len); *build_id = g_new0(uint8_t, *build_id_len); if (!*build_id) { @@ -407,7 +407,7 @@ int get_payload_build_id_field_value(FILE *err, goto error; } - BT_PUT(seq_field); + BT_OBJECT_PUT_REF_AND_RESET(seq_field); (*build_id)[i] = (uint8_t) tmp; } ret = 0; @@ -417,14 +417,14 @@ error: g_free(*build_id); ret = -1; end: - bt_put(field_class); - bt_put(field); + bt_field_class_put_ref(field_class); + bt_object_put_ref(field); return ret; } static struct debug_info *lookup_trace_debug_info(struct debug_info_iterator *debug_it, - struct bt_trace *writer_trace, + const bt_trace *writer_trace, struct debug_info_trace *di_trace) { return (struct debug_info *) g_hash_table_lookup( @@ -434,11 +434,11 @@ struct debug_info *lookup_trace_debug_info(struct debug_info_iterator *debug_it, static struct debug_info *insert_new_debug_info(struct debug_info_iterator *debug_it, - struct bt_trace *writer_trace, + const bt_trace *writer_trace, struct debug_info_trace *di_trace) { struct debug_info *debug_info = NULL; - struct bt_value *field = NULL; + bt_value *field = NULL; const char *str_value; enum bt_value_status ret; @@ -448,14 +448,13 @@ struct debug_info *insert_new_debug_info(struct debug_info_iterator *debug_it, if (!field) { goto end; } - ret = bt_value_string_get(field, &str_value); - BT_ASSERT(ret == BT_VALUE_STATUS_OK); + str_value = bt_value_string_get(field); /* Domain not ust, no debug info */ if (strcmp(str_value, "ust") != 0) { goto end; } - BT_PUT(field); + BT_VALUE_PUT_REF_AND_RESET(field); /* No tracer_name, no debug info */ field = bt_trace_get_environment_field_value_by_name(writer_trace, @@ -464,14 +463,13 @@ struct debug_info *insert_new_debug_info(struct debug_info_iterator *debug_it, if (!field) { goto end; } - ret = bt_value_string_get(field, &str_value); - BT_ASSERT(ret == BT_VALUE_STATUS_OK); + str_value = bt_value_string_get(field); /* Tracer_name not lttng-ust, no debug info */ if (strcmp(str_value, "lttng-ust") != 0) { goto end; } - BT_PUT(field); + BT_VALUE_PUT_REF_AND_RESET(field); debug_info = debug_info_create(debug_it->debug_info_component); if (!debug_info) { @@ -483,13 +481,13 @@ struct debug_info *insert_new_debug_info(struct debug_info_iterator *debug_it, debug_info); end: - bt_put(field); + bt_value_put_ref(field); return debug_info; } static struct debug_info *get_trace_debug_info(struct debug_info_iterator *debug_it, - struct bt_trace *writer_trace, + const bt_trace *writer_trace, struct debug_info_trace *di_trace) { struct debug_info *debug_info; @@ -507,7 +505,7 @@ end: static struct debug_info_trace *lookup_trace(struct debug_info_iterator *debug_it, - struct bt_trace *trace) + const bt_trace *trace) { return (struct debug_info_trace *) g_hash_table_lookup( debug_it->trace_map, @@ -517,7 +515,7 @@ struct debug_info_trace *lookup_trace(struct debug_info_iterator *debug_it, static enum debug_info_stream_state *insert_new_stream_state( struct debug_info_iterator *debug_it, - struct debug_info_trace *di_trace, struct bt_stream *stream) + struct debug_info_trace *di_trace, const bt_stream *stream) { enum debug_info_stream_state *v = NULL; @@ -588,11 +586,11 @@ void debug_info_close_trace(struct debug_info_iterator *debug_it, static int sync_event_classes(struct debug_info_iterator *debug_it, - struct bt_stream *stream, - struct bt_stream *writer_stream) + const bt_stream *stream, + const bt_stream *writer_stream) { int int_ret; - struct bt_stream_class *stream_class = NULL, + const bt_stream_class *stream_class = NULL, *writer_stream_class = NULL; enum bt_component_status ret; @@ -615,18 +613,18 @@ int sync_event_classes(struct debug_info_iterator *debug_it, error: int_ret = -1; end: - bt_put(stream_class); - bt_put(writer_stream_class); + bt_stream_class_put_ref(stream_class); + bt_stream_class_put_ref(writer_stream_class); return int_ret; } static -void trace_is_static_listener(struct bt_trace *trace, void *data) +void trace_is_static_listener(const bt_trace *trace, void *data) { struct debug_info_trace *di_trace = data; int trace_completed = 1, ret, nr_stream, i; - struct bt_stream *stream = NULL, *writer_stream = NULL; - struct bt_trace *writer_trace = di_trace->writer_trace; + const bt_stream *stream = NULL, *writer_stream = NULL; + const bt_trace *writer_trace = di_trace->writer_trace; /* * When the trace becomes static, make sure that we have all @@ -646,8 +644,8 @@ void trace_is_static_listener(struct bt_trace *trace, void *data) BT_LOGE_STR("Failed to synchronize the event classes."); goto error; } - BT_PUT(stream); - BT_PUT(writer_stream); + BT_STREAM_PUT_REF_AND_RESET(stream); + BT_STREAM_PUT_REF_AND_RESET(writer_stream); } bt_trace_set_is_static(di_trace->writer_trace); @@ -662,18 +660,18 @@ void trace_is_static_listener(struct bt_trace *trace, void *data) } error: - bt_put(writer_stream); - bt_put(stream); + bt_stream_put_ref(writer_stream); + bt_stream_put_ref(stream); } static struct debug_info_trace *insert_new_trace(struct debug_info_iterator *debug_it, - struct bt_stream *stream) { - struct bt_trace *writer_trace = NULL; + const bt_stream *stream) { + const bt_trace *writer_trace = NULL; struct debug_info_trace *di_trace = NULL; - struct bt_trace *trace = NULL; - struct bt_stream_class *stream_class = NULL; - struct bt_stream *writer_stream = NULL; + const bt_trace *trace = NULL; + const bt_stream_class *stream_class = NULL; + const bt_stream *writer_stream = NULL; int ret, nr_stream, i; writer_trace = bt_trace_create(); @@ -728,14 +726,14 @@ struct debug_info_trace *insert_new_trace(struct debug_info_iterator *debug_it, BT_LOGE_STR("Failed to insert new stream."); goto error; } - bt_get(writer_stream); + bt_stream_get_ref(writer_stream); ret = sync_event_classes(debug_it, stream, writer_stream); if (ret) { BT_LOGE_STR("Failed to synchronize event classes."); goto error; } - BT_PUT(writer_stream); - BT_PUT(stream); + BT_STREAM_PUT_REF_AND_RESET(writer_stream); + BT_STREAM_PUT_REF_AND_RESET(stream); } /* Check if the trace is already static or register a listener. */ @@ -754,34 +752,34 @@ struct debug_info_trace *insert_new_trace(struct debug_info_iterator *debug_it, goto end; error: - BT_PUT(writer_trace); + BT_TRACE_PUT_REF_AND_RESET(writer_trace); g_free(di_trace); di_trace = NULL; end: - bt_put(stream); - bt_put(writer_stream); - bt_put(stream_class); - bt_put(trace); + bt_stream_put_ref(stream); + bt_stream_put_ref(writer_stream); + bt_stream_class_put_ref(stream_class); + bt_trace_put_ref(trace); return di_trace; } static -struct bt_packet *lookup_packet(struct debug_info_iterator *debug_it, - struct bt_packet *packet, +const bt_packet *lookup_packet(struct debug_info_iterator *debug_it, + const bt_packet *packet, struct debug_info_trace *di_trace) { - return (struct bt_packet *) g_hash_table_lookup( + return (const bt_packet *) g_hash_table_lookup( di_trace->packet_map, (gpointer) packet); } static -struct bt_packet *insert_new_packet(struct debug_info_iterator *debug_it, - struct bt_packet *packet, - struct bt_stream *writer_stream, +const bt_packet *insert_new_packet(struct debug_info_iterator *debug_it, + const bt_packet *packet, + const bt_stream *writer_stream, struct debug_info_trace *di_trace) { - struct bt_packet *writer_packet; + const bt_packet *writer_packet; int ret; writer_packet = bt_packet_create(writer_stream); @@ -801,17 +799,17 @@ struct bt_packet *insert_new_packet(struct debug_info_iterator *debug_it, goto end; error: - BT_PUT(writer_packet); + BT_PACKET_PUT_REF_AND_RESET(writer_packet); end: return writer_packet; } static int add_debug_info_fields(FILE *err, - struct bt_field_class *writer_event_context_class, + const bt_field_class *writer_event_context_class, struct debug_info_component *component) { - struct bt_field_class *ip_field = NULL, *debug_field_class = NULL, + const bt_field_class *ip_field = NULL, *debug_field_class = NULL, *bin_field_class = NULL, *func_field_class = NULL, *src_field_class = NULL; int ret = 0; @@ -822,7 +820,7 @@ int add_debug_info_fields(FILE *err, if (!ip_field) { goto end; } - BT_PUT(ip_field); + BT_FIELD_CLASS_PUT_REF_AND_RESET(ip_field); debug_field_class = bt_field_class_structure_get_field_class_by_name( writer_event_context_class, @@ -888,27 +886,27 @@ int add_debug_info_fields(FILE *err, goto end; error: - BT_PUT(debug_field_class); + BT_FIELD_CLASS_PUT_REF_AND_RESET(debug_field_class); ret = -1; end: - bt_put(src_field_class); - bt_put(func_field_class); - bt_put(bin_field_class); - bt_put(debug_field_class); + bt_field_class_put_ref(src_field_class); + bt_field_class_put_ref(func_field_class); + bt_field_class_put_ref(bin_field_class); + bt_field_class_put_ref(debug_field_class); return ret; } static int create_debug_info_event_context_class(FILE *err, - struct bt_field_class *event_context_class, - struct bt_field_class *writer_event_context_class, + const bt_field_class *event_context_class, + const bt_field_class *writer_event_context_class, struct debug_info_component *component) { int ret, nr_fields, i; nr_fields = bt_field_class_structure_get_field_count(event_context_class); for (i = 0; i < nr_fields; i++) { - struct bt_field_class *field_class = NULL; + const bt_field_class *field_class = NULL; const char *field_name; if (bt_field_class_structure_get_field_by_index(event_context_class, @@ -920,7 +918,7 @@ int create_debug_info_event_context_class(FILE *err, ret = bt_field_class_structure_add_field(writer_event_context_class, field_class, field_name); - BT_PUT(field_class); + BT_FIELD_CLASS_PUT_REF_AND_RESET(field_class); if (ret) { BT_LOGE("Failed to add a field to the event-context: field-name=\"%s\"", field_name); @@ -939,14 +937,14 @@ end: } static -struct bt_stream_class *copy_stream_class_debug_info(FILE *err, - struct bt_stream_class *stream_class, - struct bt_trace *writer_trace, +const bt_stream_class *copy_stream_class_debug_info(FILE *err, + const bt_stream_class *stream_class, + const bt_trace *writer_trace, struct debug_info_component *component) { - struct bt_field_class *cls = NULL; - struct bt_stream_class *writer_stream_class = NULL; - struct bt_field_class *writer_event_context_class = NULL; + const bt_field_class *cls = NULL; + const bt_stream_class *writer_stream_class = NULL; + const bt_field_class *writer_event_context_class = NULL; int ret_int; const char *name = bt_stream_class_get_name(stream_class); @@ -964,7 +962,7 @@ struct bt_stream_class *copy_stream_class_debug_info(FILE *err, BT_LOGE_STR("Failed to set packet_context type."); goto error; } - BT_PUT(type); + BT_OBJECT_PUT_REF_AND_RESET(type); } type = bt_stream_class_get_event_header_type(stream_class); @@ -975,7 +973,7 @@ struct bt_stream_class *copy_stream_class_debug_info(FILE *err, BT_LOGE_STR("Failed to set event_header type."); goto error; } - BT_PUT(type); + BT_OBJECT_PUT_REF_AND_RESET(type); } type = bt_stream_class_get_event_context_class(stream_class); @@ -991,7 +989,7 @@ struct bt_stream_class *copy_stream_class_debug_info(FILE *err, BT_LOGE_STR("Failed to create debug_info event_context type."); goto error; } - BT_PUT(type); + BT_OBJECT_PUT_REF_AND_RESET(type); ret_int = bt_stream_class_set_event_context_class( writer_stream_class, writer_event_context_class); @@ -999,16 +997,16 @@ struct bt_stream_class *copy_stream_class_debug_info(FILE *err, BT_LOGE_STR("Failed to set event_context type."); goto error; } - BT_PUT(writer_event_context_class); + BT_FIELD_CLASS_PUT_REF_AND_RESET(writer_event_context_class); } goto end; error: - BT_PUT(writer_stream_class); + BT_STREAM_CLASS_PUT_REF_AND_RESET(writer_stream_class); end: - bt_put(writer_event_context_class); - bt_put(type); + bt_field_class_put_ref(writer_event_context_class); + bt_object_put_ref(type); return writer_stream_class; } @@ -1018,31 +1016,31 @@ end: * to update the integers mapping to a clock. */ static -int add_clock_classes(FILE *err, struct bt_trace *writer_trace, - struct bt_stream_class *writer_stream_class, - struct bt_trace *trace) +int add_clock_classes(FILE *err, const bt_trace *writer_trace, + const bt_stream_class *writer_stream_class, + const bt_trace *trace) { int ret, clock_class_count, i; clock_class_count = bt_trace_get_clock_class_count(trace); for (i = 0; i < clock_class_count; i++) { - struct bt_clock_class *clock_class = + const bt_clock_class *clock_class = bt_trace_get_clock_class_by_index(trace, i); - struct bt_clock_class *existing_clock_class = NULL; + const bt_clock_class *existing_clock_class = NULL; BT_ASSERT(clock_class); existing_clock_class = bt_trace_get_clock_class_by_name( writer_trace, bt_clock_class_get_name(clock_class)); - bt_put(existing_clock_class); + bt_clock_class_put_ref(existing_clock_class); if (existing_clock_class) { - bt_put(clock_class); + bt_clock_class_put_ref(clock_class); continue; } ret = bt_trace_add_clock_class(writer_trace, clock_class); - BT_PUT(clock_class); + BT_CLOCK_CLASS_PUT_REF_AND_RESET(clock_class); if (ret != 0) { BT_LOGE_STR("Failed to add clock_class."); goto error; @@ -1060,12 +1058,12 @@ end: } static -struct bt_stream_class *insert_new_stream_class( +const bt_stream_class *insert_new_stream_class( struct debug_info_iterator *debug_it, - struct bt_stream_class *stream_class) + const bt_stream_class *stream_class) { - struct bt_stream_class *writer_stream_class = NULL; - struct bt_trace *trace, *writer_trace = NULL; + const bt_stream_class *writer_stream_class = NULL; + const bt_trace *trace, *writer_trace = NULL; struct debug_info_trace *di_trace; enum bt_component_status ret; int int_ret; @@ -1080,7 +1078,7 @@ struct bt_stream_class *insert_new_stream_class( goto error; } writer_trace = di_trace->writer_trace; - bt_get(writer_trace); + bt_trace_get_ref(writer_trace); writer_stream_class = copy_stream_class_debug_info(debug_it->err, stream_class, writer_trace, debug_it->debug_info_component); @@ -1108,22 +1106,22 @@ struct bt_stream_class *insert_new_stream_class( goto end; error: - BT_PUT(writer_stream_class); + BT_STREAM_CLASS_PUT_REF_AND_RESET(writer_stream_class); end: - bt_put(trace); - bt_put(writer_trace); + bt_trace_put_ref(trace); + bt_trace_put_ref(writer_trace); return writer_stream_class; } static -struct bt_stream *insert_new_stream( +const bt_stream *insert_new_stream( struct debug_info_iterator *debug_it, - struct bt_stream *stream, + const bt_stream *stream, struct debug_info_trace *di_trace) { - struct bt_stream *writer_stream = NULL; - struct bt_stream_class *stream_class = NULL; - struct bt_stream_class *writer_stream_class = NULL; + const bt_stream *writer_stream = NULL; + const bt_stream_class *stream_class = NULL; + const bt_stream_class *writer_stream_class = NULL; int64_t id; stream_class = bt_stream_get_class(stream); @@ -1141,7 +1139,7 @@ struct bt_stream *insert_new_stream( goto error; } } - bt_get(writer_stream_class); + bt_stream_class_get_ref(writer_stream_class); id = bt_stream_get_id(stream); if (id < 0) { @@ -1164,26 +1162,26 @@ struct bt_stream *insert_new_stream( goto end; error: - BT_PUT(writer_stream); + BT_STREAM_PUT_REF_AND_RESET(writer_stream); end: - bt_put(stream_class); - bt_put(writer_stream_class); + bt_stream_class_put_ref(stream_class); + bt_stream_class_put_ref(writer_stream_class); return writer_stream; } static -struct bt_stream *lookup_stream(struct debug_info_iterator *debug_it, - struct bt_stream *stream, +const bt_stream *lookup_stream(struct debug_info_iterator *debug_it, + const bt_stream *stream, struct debug_info_trace *di_trace) { - return (struct bt_stream *) g_hash_table_lookup( + return (const bt_stream *) g_hash_table_lookup( di_trace->stream_map, (gpointer) stream); } static -struct bt_event_class *get_event_class(struct debug_info_iterator *debug_it, - struct bt_stream_class *writer_stream_class, - struct bt_event_class *event_class) +const bt_event_class *get_event_class(struct debug_info_iterator *debug_it, + const bt_stream_class *writer_stream_class, + const bt_event_class *event_class) { return bt_stream_class_get_event_class_by_id(writer_stream_class, bt_event_class_get_id(event_class)); @@ -1192,10 +1190,10 @@ struct bt_event_class *get_event_class(struct debug_info_iterator *debug_it, static struct debug_info_trace *lookup_di_trace_from_stream( struct debug_info_iterator *debug_it, - struct bt_stream *stream) + const bt_stream *stream) { - struct bt_stream_class *stream_class = NULL; - struct bt_trace *trace = NULL; + const bt_stream_class *stream_class = NULL; + const bt_trace *trace = NULL; struct debug_info_trace *di_trace = NULL; stream_class = bt_stream_get_class(stream); @@ -1207,18 +1205,18 @@ struct debug_info_trace *lookup_di_trace_from_stream( di_trace = (struct debug_info_trace *) g_hash_table_lookup( debug_it->trace_map, (gpointer) trace); - BT_PUT(stream_class); - BT_PUT(trace); + BT_STREAM_CLASS_PUT_REF_AND_RESET(stream_class); + BT_TRACE_PUT_REF_AND_RESET(trace); return di_trace; } static -struct bt_stream *get_writer_stream( +const bt_stream *get_writer_stream( struct debug_info_iterator *debug_it, - struct bt_packet *packet, struct bt_stream *stream) + const bt_packet *packet, const bt_stream *stream) { - struct bt_stream_class *stream_class = NULL; - struct bt_stream *writer_stream = NULL; + const bt_stream_class *stream_class = NULL; + const bt_stream *writer_stream = NULL; struct debug_info_trace *di_trace = NULL; stream_class = bt_stream_get_class(stream); @@ -1235,25 +1233,25 @@ struct bt_stream *get_writer_stream( BT_LOGE_STR("Failed to find existing stream."); goto error; } - bt_get(writer_stream); + bt_stream_get_ref(writer_stream); goto end; error: - BT_PUT(writer_stream); + BT_STREAM_PUT_REF_AND_RESET(writer_stream); end: - bt_put(stream_class); + bt_stream_class_put_ref(stream_class); return writer_stream; } BT_HIDDEN -struct bt_packet *debug_info_new_packet( +const bt_packet *debug_info_new_packet( struct debug_info_iterator *debug_it, - struct bt_packet *packet) + const bt_packet *packet) { - struct bt_stream *stream = NULL, *writer_stream = NULL; - struct bt_packet *writer_packet = NULL; - struct bt_field *packet_context = NULL; + const bt_stream *stream = NULL, *writer_stream = NULL; + const bt_packet *writer_packet = NULL; + const bt_field *packet_context = NULL; struct debug_info_trace *di_trace; int int_ret; @@ -1279,7 +1277,7 @@ struct bt_packet *debug_info_new_packet( writer_packet = lookup_packet(debug_it, packet, di_trace); if (writer_packet) { g_hash_table_remove(di_trace->packet_map, packet); - BT_PUT(writer_packet); + BT_PACKET_PUT_REF_AND_RESET(writer_packet); } writer_packet = insert_new_packet(debug_it, packet, writer_stream, @@ -1297,28 +1295,28 @@ struct bt_packet *debug_info_new_packet( BT_LOGE_STR("Failed to copy packet context."); goto error; } - BT_PUT(packet_context); + BT_OBJECT_PUT_REF_AND_RESET(packet_context); } - bt_get(writer_packet); + bt_packet_get_ref(writer_packet); goto end; error: end: - bt_put(packet_context); - bt_put(writer_stream); - bt_put(stream); + bt_object_put_ref(packet_context); + bt_stream_put_ref(writer_stream); + bt_stream_put_ref(stream); return writer_packet; } BT_HIDDEN -struct bt_packet *debug_info_close_packet( +const bt_packet *debug_info_close_packet( struct debug_info_iterator *debug_it, - struct bt_packet *packet) + const bt_packet *packet) { - struct bt_packet *writer_packet = NULL; - struct bt_stream *stream = NULL; + const bt_packet *writer_packet = NULL; + const bt_stream *stream = NULL; struct debug_info_trace *di_trace; stream = bt_packet_get_stream(packet); @@ -1335,20 +1333,20 @@ struct bt_packet *debug_info_close_packet( BT_LOGE_STR("Failed to find existing packet."); goto end; } - bt_get(writer_packet); + bt_packet_get_ref(writer_packet); g_hash_table_remove(di_trace->packet_map, packet); end: - bt_put(stream); + bt_stream_put_ref(stream); return writer_packet; } BT_HIDDEN -struct bt_stream *debug_info_stream_begin( +const bt_stream *debug_info_stream_begin( struct debug_info_iterator *debug_it, - struct bt_stream *stream) + const bt_stream *stream) { - struct bt_stream *writer_stream = NULL; + const bt_stream *writer_stream = NULL; enum debug_info_stream_state *state; struct debug_info_trace *di_trace = NULL; @@ -1385,21 +1383,21 @@ struct bt_stream *debug_info_stream_begin( if (!writer_stream) { writer_stream = insert_new_stream(debug_it, stream, di_trace); } - bt_get(writer_stream); + bt_stream_get_ref(writer_stream); goto end; error: - BT_PUT(writer_stream); + BT_STREAM_PUT_REF_AND_RESET(writer_stream); end: return writer_stream; } BT_HIDDEN -struct bt_stream *debug_info_stream_end(struct debug_info_iterator *debug_it, - struct bt_stream *stream) +const bt_stream *debug_info_stream_end(struct debug_info_iterator *debug_it, + const bt_stream *stream) { - struct bt_stream *writer_stream = NULL; + const bt_stream *writer_stream = NULL; struct debug_info_trace *di_trace = NULL; enum debug_info_stream_state *state; @@ -1415,10 +1413,10 @@ struct bt_stream *debug_info_stream_end(struct debug_info_iterator *debug_it, goto error; } /* - * Take the ref on the stream and keep it until the notification + * Take the ref on the stream and keep it until the message * is created. */ - bt_get(writer_stream); + bt_stream_get_ref(writer_stream); state = g_hash_table_lookup(di_trace->stream_states, stream); if (*state != DEBUG_INFO_ACTIVE_STREAM) { @@ -1444,7 +1442,7 @@ struct bt_stream *debug_info_stream_end(struct debug_info_iterator *debug_it, goto end; error: - BT_PUT(writer_stream); + BT_STREAM_PUT_REF_AND_RESET(writer_stream); end: return writer_stream; @@ -1452,7 +1450,7 @@ end: static struct debug_info_source *lookup_debug_info(FILE *err, - struct bt_event *event, + const bt_event *event, struct debug_info *debug_info) { int64_t vpid; @@ -1480,14 +1478,14 @@ end: } static -int set_debug_info_field(FILE *err, struct bt_field *debug_field, +int set_debug_info_field(FILE *err, const bt_field *debug_field, struct debug_info_source *dbg_info_src, struct debug_info_component *component) { int i, nr_fields, ret = 0; - struct bt_field_class *debug_field_class = NULL; - struct bt_field *field = NULL; - struct bt_field_class *field_class = NULL; + const bt_field_class *debug_field_class = NULL; + const bt_field *field = NULL; + const bt_field_class *field_class = NULL; debug_field_class = bt_field_get_class(debug_field); BT_ASSERT(debug_field_class); @@ -1502,7 +1500,7 @@ int set_debug_info_field(FILE *err, struct bt_field *debug_field, field_name); goto error; } - BT_PUT(field_class); + BT_FIELD_CLASS_PUT_REF_AND_RESET(field_class); field = bt_field_structure_get_field_by_index(debug_field, i); if (!strcmp(field_name, "bin")) { @@ -1549,7 +1547,7 @@ int set_debug_info_field(FILE *err, struct bt_field *debug_field, ret = bt_field_string_set_value(field, ""); } } - BT_PUT(field); + BT_OBJECT_PUT_REF_AND_RESET(field); if (ret) { BT_LOGE("Failed to set value in debug-info struct: field-name=\"%s\"", field_name); @@ -1562,25 +1560,25 @@ int set_debug_info_field(FILE *err, struct bt_field *debug_field, error: ret = -1; end: - bt_put(field_class); - bt_put(field); - bt_put(debug_field_class); + bt_field_class_put_ref(field_class); + bt_object_put_ref(field); + bt_field_class_put_ref(debug_field_class); return ret; } static int copy_set_debug_info_stream_event_context(FILE *err, - struct bt_field *event_context, - struct bt_event *event, - struct bt_event *writer_event, + const bt_field *event_context, + const bt_event *event, + const bt_event *writer_event, struct debug_info *debug_info, struct debug_info_component *component) { - struct bt_field_class *writer_event_context_class = NULL, + const bt_field_class *writer_event_context_class = NULL, *event_context_class = NULL; - struct bt_field *writer_event_context = NULL; - struct bt_field *field = NULL, *copy_field = NULL, *debug_field = NULL; - struct bt_field_class *field_class = NULL; + const bt_field *writer_event_context = NULL; + const bt_field *field = NULL, *copy_field = NULL, *debug_field = NULL; + const bt_field_class *field_class = NULL; struct debug_info_source *dbg_info_src; int ret, nr_fields, i; @@ -1637,7 +1635,7 @@ int copy_set_debug_info_stream_event_context(FILE *err, BT_LOGE_STR("Failed to set debug_info field."); goto error; } - BT_PUT(debug_field); + BT_OBJECT_PUT_REF_AND_RESET(debug_field); } else { copy_field = bt_field_copy(field); if (!copy_field) { @@ -1654,10 +1652,10 @@ int copy_set_debug_info_stream_event_context(FILE *err, field_name); goto error; } - BT_PUT(copy_field); + BT_OBJECT_PUT_REF_AND_RESET(copy_field); } - BT_PUT(field_class); - BT_PUT(field); + BT_FIELD_CLASS_PUT_REF_AND_RESET(field_class); + BT_OBJECT_PUT_REF_AND_RESET(field); } ret = 0; @@ -1666,22 +1664,22 @@ int copy_set_debug_info_stream_event_context(FILE *err, error: ret = -1; end: - bt_put(event_context_class); - bt_put(writer_event_context_class); - bt_put(writer_event_context); - bt_put(field); - bt_put(copy_field); - bt_put(debug_field); - bt_put(field_class); + bt_field_class_put_ref(event_context_class); + bt_field_class_put_ref(writer_event_context_class); + bt_object_put_ref(writer_event_context); + bt_object_put_ref(field); + bt_object_put_ref(copy_field); + bt_object_put_ref(debug_field); + bt_field_class_put_ref(field_class); return ret; } static -struct bt_clock_class *stream_class_get_clock_class(FILE *err, - struct bt_stream_class *stream_class) +const bt_clock_class *stream_class_get_clock_class(FILE *err, + const bt_stream_class *stream_class) { - struct bt_trace *trace = NULL; - struct bt_clock_class *clock_class = NULL; + const bt_trace *trace = NULL; + const bt_clock_class *clock_class = NULL; trace = bt_stream_class_get_trace(stream_class); BT_ASSERT(trace); @@ -1694,18 +1692,18 @@ struct bt_clock_class *stream_class_get_clock_class(FILE *err, /* FIXME multi-clock? */ clock_class = bt_trace_get_clock_class_by_index(trace, 0); - bt_put(trace); + bt_trace_put_ref(trace); end: return clock_class; } static -struct bt_clock_class *event_get_clock_class(FILE *err, struct bt_event *event) +const bt_clock_class *event_get_clock_class(FILE *err, const bt_event *event) { - struct bt_event_class *event_class = NULL; - struct bt_stream_class *stream_class = NULL; - struct bt_clock_class *clock_class = NULL; + const bt_event_class *event_class = NULL; + const bt_stream_class *stream_class = NULL; + const bt_clock_class *clock_class = NULL; event_class = bt_event_get_class(event); BT_ASSERT(event_class); @@ -1717,17 +1715,17 @@ struct bt_clock_class *event_get_clock_class(FILE *err, struct bt_event *event) goto end; end: - bt_put(stream_class); - bt_put(event_class); + bt_stream_class_put_ref(stream_class); + bt_event_class_put_ref(event_class); return clock_class; } static -int set_event_clock_value(FILE *err, struct bt_event *event, - struct bt_event *writer_event) +int set_event_clock_value(FILE *err, const bt_event *event, + const bt_event *writer_event) { - struct bt_clock_class *clock_class = NULL; - struct bt_clock_value *clock_value = NULL; + const bt_clock_class *clock_class = NULL; + bt_clock_value *clock_value = NULL; int ret = 0; clock_class = event_get_clock_class(err, event); @@ -1758,19 +1756,19 @@ int set_event_clock_value(FILE *err, struct bt_event *event, error: ret = -1; end: - bt_put(clock_class); - bt_put(clock_value); + bt_clock_class_put_ref(clock_class); + bt_object_put_ref(clock_value); return ret; } static -struct bt_event *debug_info_copy_event(FILE *err, struct bt_event *event, - struct bt_event_class *writer_event_class, +const bt_event *debug_info_copy_event(FILE *err, const bt_event *event, + const bt_event_class *writer_event_class, struct debug_info *debug_info, struct debug_info_component *component) { - struct bt_event *writer_event = NULL; - struct bt_field *field = NULL, *copy_field = NULL; + const bt_event *writer_event = NULL; + const bt_field *field = NULL, *copy_field = NULL; int ret; writer_event = bt_event_create(writer_event_class); @@ -1794,7 +1792,7 @@ struct bt_event *debug_info_copy_event(FILE *err, struct bt_event *event, BT_LOGE_STR("Failed to copy event header."); goto error; } - BT_PUT(field); + BT_OBJECT_PUT_REF_AND_RESET(field); } /* Optional field, so it can fail silently. */ @@ -1807,7 +1805,7 @@ struct bt_event *debug_info_copy_event(FILE *err, struct bt_event *event, BT_LOGE_STR("Failed to debug_info stream event context."); goto error; } - BT_PUT(field); + BT_OBJECT_PUT_REF_AND_RESET(field); } /* Optional field, so it can fail silently. */ @@ -1823,8 +1821,8 @@ struct bt_event *debug_info_copy_event(FILE *err, struct bt_event *event, BT_LOGE_STR("Failed to set event_context."); goto error; } - BT_PUT(copy_field); - BT_PUT(field); + BT_OBJECT_PUT_REF_AND_RESET(copy_field); + BT_OBJECT_PUT_REF_AND_RESET(field); } field = bt_event_get_event_payload(event); @@ -1837,31 +1835,31 @@ struct bt_event *debug_info_copy_event(FILE *err, struct bt_event *event, BT_LOGE_STR("Failed to set event payload."); goto error; } - BT_PUT(copy_field); + BT_OBJECT_PUT_REF_AND_RESET(copy_field); } - BT_PUT(field); + BT_OBJECT_PUT_REF_AND_RESET(field); goto end; error: - BT_PUT(writer_event); + BT_OBJECT_PUT_REF_AND_RESET(writer_event); end: - bt_put(copy_field); - bt_put(field); + bt_object_put_ref(copy_field); + bt_object_put_ref(field); return writer_event; } BT_HIDDEN -struct bt_event *debug_info_output_event( +const bt_event *debug_info_output_event( struct debug_info_iterator *debug_it, - struct bt_event *event) + const bt_event *event) { - struct bt_event_class *event_class = NULL, *writer_event_class = NULL; - struct bt_stream_class *stream_class = NULL, *writer_stream_class = NULL; - struct bt_event *writer_event = NULL; - struct bt_packet *packet = NULL, *writer_packet = NULL; - struct bt_trace *writer_trace = NULL; - struct bt_stream *stream = NULL; + const bt_event_class *event_class = NULL, *writer_event_class = NULL; + const bt_stream_class *stream_class = NULL, *writer_stream_class = NULL; + const bt_event *writer_event = NULL; + const bt_packet *packet = NULL, *writer_packet = NULL; + const bt_trace *writer_trace = NULL; + const bt_stream *stream = NULL; struct debug_info_trace *di_trace; struct debug_info *debug_info; int int_ret; @@ -1888,7 +1886,7 @@ struct bt_event *debug_info_output_event( BT_LOGE_STR("Failed to find existing stream_class."); goto error; } - bt_get(writer_stream_class); + bt_stream_class_get_ref(writer_stream_class); writer_trace = bt_stream_class_get_trace(writer_stream_class); BT_ASSERT(writer_trace); writer_event_class = get_event_class(debug_it, @@ -1930,7 +1928,7 @@ struct bt_event *debug_info_output_event( BT_LOGE_STR("Failed to find existing packet."); goto error; } - bt_get(writer_packet); + bt_packet_get_ref(writer_packet); int_ret = bt_event_set_packet(writer_event, writer_packet); if (int_ret < 0) { @@ -1943,16 +1941,16 @@ struct bt_event *debug_info_output_event( goto end; error: - BT_PUT(writer_event); + BT_OBJECT_PUT_REF_AND_RESET(writer_event); end: - bt_put(stream); - bt_put(writer_trace); - bt_put(writer_packet); - bt_put(packet); - bt_put(writer_event_class); - bt_put(writer_stream_class); - bt_put(stream_class); - bt_put(event_class); + bt_stream_put_ref(stream); + bt_trace_put_ref(writer_trace); + bt_packet_put_ref(writer_packet); + bt_packet_put_ref(packet); + bt_event_class_put_ref(writer_event_class); + bt_stream_class_put_ref(writer_stream_class); + bt_stream_class_put_ref(stream_class); + bt_event_class_put_ref(event_class); return writer_event; }