X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=include%2Fbabeltrace2%2Fvalue.h;h=42e3cf96dd22496c406b7aaf2506ca9e67ed41e0;hb=27c61ce8f6ee66d910507f8a40ae5497287c943e;hp=33cc92b315152f396880e9ec01067253f942b25b;hpb=bbb7b5f044dc06e50eaa34ed3a880b34e1e7ebb8;p=babeltrace.git diff --git a/include/babeltrace2/value.h b/include/babeltrace2/value.h index 33cc92b3..42e3cf96 100644 --- a/include/babeltrace2/value.h +++ b/include/babeltrace2/value.h @@ -45,17 +45,17 @@ extern bt_value *bt_value_bool_create_init(bt_bool val); extern void bt_value_bool_set(bt_value *bool_obj, bt_bool val); -extern bt_value *bt_value_unsigned_integer_create(void); +extern bt_value *bt_value_integer_unsigned_create(void); -extern bt_value *bt_value_unsigned_integer_create_init(uint64_t val); +extern bt_value *bt_value_integer_unsigned_create_init(uint64_t val); -extern void bt_value_unsigned_integer_set(bt_value *integer_obj, uint64_t val); +extern void bt_value_integer_unsigned_set(bt_value *integer_obj, uint64_t val); -extern bt_value *bt_value_signed_integer_create(void); +extern bt_value *bt_value_integer_signed_create(void); -extern bt_value *bt_value_signed_integer_create_init(int64_t val); +extern bt_value *bt_value_integer_signed_create_init(int64_t val); -extern void bt_value_signed_integer_set(bt_value *integer_obj, int64_t val); +extern void bt_value_integer_signed_set(bt_value *integer_obj, int64_t val); extern bt_value *bt_value_real_create(void); @@ -105,10 +105,12 @@ extern bt_value_array_append_element_status bt_value_array_append_string_element(bt_value *array_obj, const char *val); extern bt_value_array_append_element_status -bt_value_array_append_empty_array_element(bt_value *array_obj); +bt_value_array_append_empty_array_element(bt_value *array_obj, + bt_value **element_obj); extern bt_value_array_append_element_status -bt_value_array_append_empty_map_element(bt_value *array_obj); +bt_value_array_append_empty_map_element(bt_value *array_obj, + bt_value **element_obj); typedef enum bt_value_array_set_element_by_index_status { BT_VALUE_ARRAY_SET_ELEMENT_BY_INDEX_STATUS_MEMORY_ERROR = __BT_FUNC_STATUS_MEMORY_ERROR, @@ -124,13 +126,23 @@ extern bt_value *bt_value_map_create(void); extern bt_value *bt_value_map_borrow_entry_value( bt_value *map_obj, const char *key); -typedef bt_bool (* bt_value_map_foreach_entry_func)(const char *key, - bt_value *object, void *data); +typedef enum bt_value_map_foreach_entry_func_status { + BT_VALUE_MAP_FOREACH_ENTRY_FUNC_STATUS_OK = __BT_FUNC_STATUS_OK, + BT_VALUE_MAP_FOREACH_ENTRY_FUNC_STATUS_ERROR = __BT_FUNC_STATUS_ERROR, + BT_VALUE_MAP_FOREACH_ENTRY_FUNC_STATUS_MEMORY_ERROR = __BT_FUNC_STATUS_MEMORY_ERROR, + BT_VALUE_MAP_FOREACH_ENTRY_FUNC_STATUS_INTERRUPT = __BT_FUNC_STATUS_INTERRUPTED, +} bt_value_map_foreach_entry_func_status; + +typedef bt_value_map_foreach_entry_func_status + (* bt_value_map_foreach_entry_func)(const char *key, + bt_value *object, void *data); typedef enum bt_value_map_foreach_entry_status { - BT_VALUE_MAP_FOREACH_ENTRY_STATUS_MEMORY_ERROR = __BT_FUNC_STATUS_MEMORY_ERROR, BT_VALUE_MAP_FOREACH_ENTRY_STATUS_OK = __BT_FUNC_STATUS_OK, - BT_VALUE_MAP_FOREACH_ENTRY_STATUS_CANCELED = __BT_FUNC_STATUS_CANCELED, + BT_VALUE_MAP_FOREACH_ENTRY_STATUS_ERROR = __BT_FUNC_STATUS_ERROR, + BT_VALUE_MAP_FOREACH_ENTRY_STATUS_MEMORY_ERROR = __BT_FUNC_STATUS_MEMORY_ERROR, + BT_VALUE_MAP_FOREACH_ENTRY_STATUS_USER_ERROR = __BT_FUNC_STATUS_USER_ERROR, + BT_VALUE_MAP_FOREACH_ENTRY_STATUS_INTERRUPTED = __BT_FUNC_STATUS_INTERRUPTED, } bt_value_map_foreach_entry_status; extern bt_value_map_foreach_entry_status bt_value_map_foreach_entry( @@ -164,10 +176,21 @@ bt_value_map_insert_string_entry(bt_value *map_obj, const char *key, const char *val); extern bt_value_map_insert_entry_status -bt_value_map_insert_empty_array_entry(bt_value *map_obj, const char *key); +bt_value_map_insert_empty_array_entry(bt_value *map_obj, const char *key, + bt_value **entry_obj); extern bt_value_map_insert_entry_status -bt_value_map_insert_empty_map_entry(bt_value *map_obj, const char *key); +bt_value_map_insert_empty_map_entry(bt_value *map_obj, const char *key, + bt_value **entry_obj); + +typedef enum bt_value_map_extend_status { + BT_VALUE_MAP_EXTEND_STATUS_MEMORY_ERROR = __BT_FUNC_STATUS_MEMORY_ERROR, + BT_VALUE_MAP_EXTEND_STATUS_OK = __BT_FUNC_STATUS_OK, +} bt_value_map_extend_status; + +extern bt_value_map_extend_status bt_value_map_extend( + bt_value *base_map_obj, + const bt_value *extension_map_obj); #ifdef __cplusplus }