Field class API: use status
authorPhilippe Proulx <eeppeliteloop@gmail.com>
Sat, 8 Dec 2018 20:05:08 +0000 (15:05 -0500)
committerFrancis Deslauriers <francis.deslauriers@efficios.com>
Thu, 2 May 2019 20:50:15 +0000 (20:50 +0000)
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
include/babeltrace/trace-ir/field-class-const.h
include/babeltrace/trace-ir/field-class.h
lib/trace-ir/field-class.c

index da751ebec9faffe3bf18eb956c96e0811534699a..cb369b37f21118879df3f5455b4e24eb11d650f9 100644 (file)
 extern "C" {
 #endif
 
+enum bt_field_class_status {
+       BT_FIELD_CLASS_STATUS_OK = 0,
+       BT_FIELD_CLASS_STATUS_NOMEM = -12,
+};
+
 enum bt_field_class_type {
        BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER,
        BT_FIELD_CLASS_TYPE_SIGNED_INTEGER,
@@ -106,12 +111,14 @@ bt_field_class_signed_enumeration_mapping_ranges_get_range_by_index(
                const bt_field_class_unsigned_enumeration_mapping_ranges *ranges,
                uint64_t index, int64_t *lower, int64_t *upper);
 
-extern int bt_field_class_unsigned_enumeration_get_mapping_labels_by_value(
+extern enum bt_field_class_status
+bt_field_class_unsigned_enumeration_get_mapping_labels_by_value(
                const bt_field_class *field_class, uint64_t value,
                bt_field_class_enumeration_mapping_label_array *label_array,
                uint64_t *count);
 
-extern int bt_field_class_signed_enumeration_get_mapping_labels_by_value(
+extern enum bt_field_class_status
+bt_field_class_signed_enumeration_get_mapping_labels_by_value(
                const bt_field_class *field_class, int64_t value,
                bt_field_class_enumeration_mapping_label_array *label_array,
                uint64_t *count);
index 337820b1dce48dd1944a859219689a89d03fb67c..71942862e45a99daaee20b9894b483e1606dd012 100644 (file)
 /* For bt_bool, bt_field_class */
 #include <babeltrace/types.h>
 
-/* For enum bt_field_class_integer_preferred_display_base */
+/*
+ * For enum bt_field_class_status,
+ * enum bt_field_class_integer_preferred_display_base
+ */
 #include <babeltrace/trace-ir/field-class-const.h>
 
 #include <stdint.h>
@@ -61,11 +64,11 @@ extern bt_field_class *bt_field_class_unsigned_enumeration_create(void);
 
 extern bt_field_class *bt_field_class_signed_enumeration_create(void);
 
-extern int bt_field_class_unsigned_enumeration_map_range(
+extern enum bt_field_class_status bt_field_class_unsigned_enumeration_map_range(
                bt_field_class *field_class, const char *label,
                uint64_t range_lower, uint64_t range_upper);
 
-extern int bt_field_class_signed_enumeration_map_range(
+extern enum bt_field_class_status bt_field_class_signed_enumeration_map_range(
                bt_field_class *field_class, const char *label,
                int64_t range_lower, int64_t range_upper);
 
@@ -73,7 +76,7 @@ extern bt_field_class *bt_field_class_string_create(void);
 
 extern bt_field_class *bt_field_class_structure_create(void);
 
-extern int bt_field_class_structure_append_member(
+extern enum bt_field_class_status bt_field_class_structure_append_member(
                bt_field_class *struct_field_class,
                const char *name, bt_field_class *field_class);
 
@@ -83,17 +86,18 @@ extern bt_field_class *bt_field_class_static_array_create(
 extern bt_field_class *bt_field_class_dynamic_array_create(
                bt_field_class *elem_field_class);
 
-extern int bt_field_class_dynamic_array_set_length_field_class(
+extern enum bt_field_class_status
+bt_field_class_dynamic_array_set_length_field_class(
                bt_field_class *field_class,
                bt_field_class *length_field_class);
 
 extern bt_field_class *bt_field_class_variant_create(void);
 
-extern int bt_field_class_variant_set_selector_field_class(
-               bt_field_class *field_class,
+extern enum bt_field_class_status
+bt_field_class_variant_set_selector_field_class(bt_field_class *field_class,
                bt_field_class *selector_field_class);
 
-extern int bt_field_class_variant_append_option(
+extern enum bt_field_class_status bt_field_class_variant_append_option(
                bt_field_class *var_field_class,
                const char *name, bt_field_class *field_class);
 
index 2361c5d5b805240a72e183b91803d5b89616ebc0..eb949bbcb945f03ea4b25e3d20a6766bbed00e22 100644 (file)
@@ -380,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)
@@ -416,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)
@@ -455,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;
@@ -493,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;
                }
 
@@ -502,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;
                }
        }
@@ -522,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)
 {
@@ -547,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)
 {
@@ -731,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;
 
@@ -750,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;
        }
 
@@ -769,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");
@@ -895,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)
 {
@@ -909,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)
 {
@@ -1082,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)
 {
@@ -1097,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 *
This page took 0.028862 seconds and 4 git commands to generate.