X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf-ir%2Fstream-class-internal.h;h=8dd7856782909916a3f1fc407227ac1bef64909c;hb=3fea54f69edd1780566230255da196cb6e82df62;hp=4041110854ccbf1b101a12fced395bcdadaf432f;hpb=3dca22768a95bef664012559aa9ac977091de6ac;p=babeltrace.git diff --git a/include/babeltrace/ctf-ir/stream-class-internal.h b/include/babeltrace/ctf-ir/stream-class-internal.h index 40411108..8dd78567 100644 --- a/include/babeltrace/ctf-ir/stream-class-internal.h +++ b/include/babeltrace/ctf-ir/stream-class-internal.h @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -84,6 +85,12 @@ struct bt_stream_class_common { struct bt_stream_class { struct bt_stream_class_common common; + + /* Pool of `struct bt_field_wrapper *` */ + struct bt_object_pool event_header_field_pool; + + /* Pool of `struct bt_field_wrapper *` */ + struct bt_object_pool packet_context_field_pool; }; struct bt_event_class_common; @@ -155,23 +162,7 @@ struct bt_trace_common *bt_stream_class_common_borrow_trace( struct bt_stream_class_common *stream_class) { BT_ASSERT(stream_class); - return (void *) bt_object_borrow_parent(stream_class); -} - -static inline -struct bt_trace *bt_stream_class_borrow_trace( - struct bt_stream_class *stream_class) -{ - return BT_FROM_COMMON(bt_stream_class_common_borrow_trace( - BT_TO_COMMON(stream_class))); -} - -static inline -struct bt_trace_common *bt_stream_class_common_get_trace( - struct bt_stream_class_common *stream_class) -{ - BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class"); - return bt_get(bt_stream_class_common_borrow_trace(stream_class)); + return (void *) bt_object_borrow_parent(&stream_class->base); } static inline @@ -302,7 +293,7 @@ end: } static inline -struct bt_event_class_common *bt_stream_class_common_get_event_class_by_index( +struct bt_event_class_common *bt_stream_class_common_borrow_event_class_by_index( struct bt_stream_class_common *stream_class, uint64_t index) { BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class"); @@ -310,11 +301,11 @@ struct bt_event_class_common *bt_stream_class_common_get_event_class_by_index( "Index is out of bounds: index=%" PRIu64 ", " "count=%u", index, stream_class->event_classes->len); - return bt_get(g_ptr_array_index(stream_class->event_classes, index)); + return g_ptr_array_index(stream_class->event_classes, index); } static inline -struct bt_event_class_common *bt_stream_class_common_get_event_class_by_id( +struct bt_event_class_common *bt_stream_class_common_borrow_event_class_by_id( struct bt_stream_class_common *stream_class, uint64_t id) { int64_t id_key = (int64_t) id; @@ -322,16 +313,17 @@ struct bt_event_class_common *bt_stream_class_common_get_event_class_by_id( BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class"); BT_ASSERT_PRE(id_key >= 0, "Invalid event class ID: %" PRIu64, id); - return bt_get(g_hash_table_lookup(stream_class->event_classes_ht, - &id_key)); + return g_hash_table_lookup(stream_class->event_classes_ht, + &id_key); } static inline -struct bt_field_type_common *bt_stream_class_common_get_packet_context_field_type( +struct bt_field_type_common * +bt_stream_class_common_borrow_packet_context_field_type( struct bt_stream_class_common *stream_class) { BT_ASSERT_PRE_NON_NULL(stream_class, "Stream class"); - return bt_get(stream_class->packet_context_field_type); + return stream_class->packet_context_field_type; } static inline @@ -387,7 +379,8 @@ end: } static inline -struct bt_field_type_common *bt_stream_class_common_get_event_header_field_type( +struct bt_field_type_common * +bt_stream_class_common_borrow_event_header_field_type( struct bt_stream_class_common *stream_class) { struct bt_field_type_common *ret = NULL; @@ -403,7 +396,7 @@ struct bt_field_type_common *bt_stream_class_common_get_event_header_field_type( goto end; } - ret = bt_get(stream_class->event_header_field_type); + ret = stream_class->event_header_field_type; end: return ret; @@ -461,7 +454,8 @@ end: } static inline -struct bt_field_type_common *bt_stream_class_common_get_event_context_field_type( +struct bt_field_type_common * +bt_stream_class_common_borrow_event_context_field_type( struct bt_stream_class_common *stream_class) { struct bt_field_type_common *ret = NULL; @@ -472,7 +466,7 @@ struct bt_field_type_common *bt_stream_class_common_get_event_context_field_type goto end; } - ret = bt_get(stream_class->event_context_field_type); + ret = stream_class->event_context_field_type; end: return ret;