X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=include%2Fbabeltrace2%2Fvalue.h;h=42e3cf96dd22496c406b7aaf2506ca9e67ed41e0;hb=a3f0c7db90f4cfc81090a83a7442b7bc624d5789;hp=b6a22562f525e8da539a9ec9a8fdf89626ce76cf;hpb=924dc299c8a893e92fcd985fa05c245b591ef314;p=babeltrace.git diff --git a/include/babeltrace2/value.h b/include/babeltrace2/value.h index b6a22562..42e3cf96 100644 --- a/include/babeltrace2/value.h +++ b/include/babeltrace2/value.h @@ -2,7 +2,7 @@ #define BABELTRACE2_VALUE_H /* - * Copyright (c) 2015-2018 Philippe Proulx + * Copyright (c) 2010-2019 EfficiOS Inc. and Linux Foundation * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -23,20 +23,16 @@ * SOFTWARE. */ +#ifndef __BT_IN_BABELTRACE_H +# error "Please include instead." +#endif + #include #include -/* For bt_bool, bt_value */ #include - -/* For bt_value_type */ #include -/* For __BT_FUNC_STATUS_* */ -#define __BT_FUNC_STATUS_ENABLE -#include -#undef __BT_FUNC_STATUS_ENABLE - #ifdef __cplusplus extern "C" { #endif @@ -49,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); @@ -109,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, @@ -128,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( @@ -168,15 +176,24 @@ 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 } #endif -#include - #endif /* BABELTRACE2_VALUE_H */