X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=lib%2Ftrace-ir%2Ffield-class.c;h=eb949bbcb945f03ea4b25e3d20a6766bbed00e22;hb=35fa110e5bea4a35497313adf3e3d0fa09db9ff7;hp=ed7b2121b9513212aeb7dc97a97f14d4a9575bd4;hpb=f2b0325d1bd4bc213b08fa42828d6cc86adc6a01;p=babeltrace.git diff --git a/lib/trace-ir/field-class.c b/lib/trace-ir/field-class.c index ed7b2121..eb949bbc 100644 --- a/lib/trace-ir/field-class.c +++ b/lib/trace-ir/field-class.c @@ -33,11 +33,9 @@ #include #include #include -#include #include #include #include -#include #include #include #include @@ -382,7 +380,8 @@ void bt_field_class_signed_enumeration_mapping_ranges_get_range_by_index( -int bt_field_class_unsigned_enumeration_get_mapping_labels_by_value( +enum bt_field_class_status +bt_field_class_unsigned_enumeration_get_mapping_labels_by_value( const struct bt_field_class *fc, uint64_t value, bt_field_class_enumeration_mapping_label_array *label_array, uint64_t *count) @@ -418,10 +417,11 @@ int bt_field_class_unsigned_enumeration_get_mapping_labels_by_value( *label_array = (void *) enum_fc->label_buf->pdata; *count = (uint64_t) enum_fc->label_buf->len; - return 0; + return BT_FIELD_CLASS_STATUS_OK; } -int bt_field_class_signed_enumeration_get_mapping_labels_by_value( +enum bt_field_class_status +bt_field_class_signed_enumeration_get_mapping_labels_by_value( const struct bt_field_class *fc, int64_t value, bt_field_class_enumeration_mapping_label_array *label_array, uint64_t *count) @@ -457,14 +457,15 @@ int bt_field_class_signed_enumeration_get_mapping_labels_by_value( *label_array = (void *) enum_fc->label_buf->pdata; *count = (uint64_t) enum_fc->label_buf->len; - return 0; + return BT_FIELD_CLASS_STATUS_OK; } static inline -int add_mapping_to_enumeration_field_class(struct bt_field_class *fc, +enum bt_field_class_status add_mapping_to_enumeration_field_class( + struct bt_field_class *fc, const char *label, uint64_t lower, uint64_t upper) { - int ret = 0; + int ret = BT_FIELD_CLASS_STATUS_OK; uint64_t i; struct bt_field_class_enumeration *enum_fc = (void *) fc; struct bt_field_class_enumeration_mapping *mapping = NULL; @@ -495,7 +496,7 @@ int add_mapping_to_enumeration_field_class(struct bt_field_class *fc, finalize_enumeration_field_class_mapping(mapping); g_array_set_size(enum_fc->mappings, enum_fc->mappings->len - 1); - ret = -1; + ret = BT_FIELD_CLASS_STATUS_NOMEM; goto end; } @@ -504,7 +505,7 @@ int add_mapping_to_enumeration_field_class(struct bt_field_class *fc, finalize_enumeration_field_class_mapping(mapping); g_array_set_size(enum_fc->mappings, enum_fc->mappings->len - 1); - ret = -1; + ret = BT_FIELD_CLASS_STATUS_NOMEM; goto end; } } @@ -524,7 +525,7 @@ end: return ret; } -int bt_field_class_unsigned_enumeration_map_range( +enum bt_field_class_status bt_field_class_unsigned_enumeration_map_range( struct bt_field_class *fc, const char *label, uint64_t range_lower, uint64_t range_upper) { @@ -549,7 +550,7 @@ int bt_field_class_unsigned_enumeration_map_range( range_upper); } -int bt_field_class_signed_enumeration_map_range( +enum bt_field_class_status bt_field_class_signed_enumeration_map_range( struct bt_field_class *fc, const char *label, int64_t range_lower, int64_t range_upper) { @@ -733,11 +734,11 @@ end: } static -int append_named_field_class_to_container_field_class( +enum bt_field_class_status append_named_field_class_to_container_field_class( struct bt_field_class_named_field_class_container *container_fc, const char *name, struct bt_field_class *fc) { - int ret = 0; + int ret = BT_FIELD_CLASS_STATUS_OK; struct bt_named_field_class *named_fc; GString *name_str; @@ -752,7 +753,7 @@ int append_named_field_class_to_container_field_class( name_str = g_string_new(name); if (!name_str) { BT_LOGE_STR("Failed to allocate a GString."); - ret = -1; + ret = BT_FIELD_CLASS_STATUS_NOMEM; goto end; } @@ -771,8 +772,9 @@ end: return ret; } -int bt_field_class_structure_append_member(struct bt_field_class *fc, - const char *name, struct bt_field_class *member_fc) +enum bt_field_class_status bt_field_class_structure_append_member( + struct bt_field_class *fc, const char *name, + struct bt_field_class *member_fc) { BT_ASSERT_PRE_NON_NULL(fc, "Field class"); @@ -897,7 +899,7 @@ end: return (void *) var_fc; } -int bt_field_class_variant_set_selector_field_class( +enum bt_field_class_status bt_field_class_variant_set_selector_field_class( struct bt_field_class *fc, struct bt_field_class *selector_fc) { @@ -911,10 +913,10 @@ int bt_field_class_variant_set_selector_field_class( var_fc->selector_fc = selector_fc; bt_object_get_no_null_check(selector_fc); bt_field_class_freeze(selector_fc); - return 0; + return BT_FIELD_CLASS_STATUS_OK; } -int bt_field_class_variant_append_option( +enum bt_field_class_status bt_field_class_variant_append_option( struct bt_field_class *fc, const char *name, struct bt_field_class *option_fc) { @@ -1084,7 +1086,7 @@ end: return (void *) array_fc; } -int bt_field_class_dynamic_array_set_length_field_class( +enum bt_field_class_status bt_field_class_dynamic_array_set_length_field_class( struct bt_field_class *fc, struct bt_field_class *length_fc) { @@ -1099,7 +1101,7 @@ int bt_field_class_dynamic_array_set_length_field_class( array_fc->length_fc = length_fc; bt_object_get_no_null_check(length_fc); bt_field_class_freeze(length_fc); - return 0; + return BT_FIELD_CLASS_STATUS_OK; } const struct bt_field_path * @@ -1196,3 +1198,13 @@ void _bt_field_class_make_part_of_trace_class(const struct bt_field_class *c_fc) break; } } + +void bt_field_class_get_ref(const struct bt_field_class *field_class) +{ + bt_object_get_ref(field_class); +} + +void bt_field_class_put_ref(const struct bt_field_class *field_class) +{ + bt_object_put_ref(field_class); +}