X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace2%2Fvalue.h;h=42e3cf96dd22496c406b7aaf2506ca9e67ed41e0;hb=f3d6b4c2f7592fde9ff770989b25bacaa4820dc8;hp=c248174521e1c8a11d65e2fd560622d8b25a0aae;hpb=3fadfbc0c91f82c46bd36e6e0657ea93570c9db1;p=babeltrace.git diff --git a/include/babeltrace2/value.h b/include/babeltrace2/value.h index c2481745..42e3cf96 100644 --- a/include/babeltrace2/value.h +++ b/include/babeltrace2/value.h @@ -1,8 +1,8 @@ -#ifndef BABELTRACE_VALUES_H -#define BABELTRACE_VALUES_H +#ifndef BABELTRACE2_VALUE_H +#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,13 +23,14 @@ * SOFTWARE. */ +#ifndef __BT_IN_BABELTRACE_H +# error "Please include instead." +#endif + #include #include -/* For bt_bool, bt_value */ #include - -/* For bt_value_status, bt_value_type */ #include #ifdef __cplusplus @@ -44,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); @@ -66,41 +67,58 @@ extern bt_value *bt_value_string_create(void); extern bt_value *bt_value_string_create_init(const char *val); -extern bt_value_status bt_value_string_set(bt_value *string_obj, +typedef enum bt_value_string_set_status { + BT_VALUE_STRING_SET_STATUS_MEMORY_ERROR = __BT_FUNC_STATUS_MEMORY_ERROR, + BT_VALUE_STRING_SET_STATUS_OK = __BT_FUNC_STATUS_OK, +} bt_value_string_set_status; + +extern bt_value_string_set_status bt_value_string_set(bt_value *string_obj, const char *val); extern bt_value *bt_value_array_create(void); -extern bt_value *bt_value_array_borrow_element_by_index( - bt_value *array_obj, uint64_t index); +extern bt_value *bt_value_array_borrow_element_by_index(bt_value *array_obj, + uint64_t index); -extern bt_value_status bt_value_array_append_element( - bt_value *array_obj, - bt_value *element_obj); +typedef enum bt_value_array_append_element_status { + BT_VALUE_ARRAY_APPEND_ELEMENT_STATUS_MEMORY_ERROR = __BT_FUNC_STATUS_MEMORY_ERROR, + BT_VALUE_ARRAY_APPEND_ELEMENT_STATUS_OK = __BT_FUNC_STATUS_OK, +} bt_value_array_append_element_status; + +extern bt_value_array_append_element_status bt_value_array_append_element( + bt_value *array_obj, bt_value *element_obj); -extern bt_value_status bt_value_array_append_bool_element( - bt_value *array_obj, bt_bool val); +extern bt_value_array_append_element_status +bt_value_array_append_bool_element(bt_value *array_obj, bt_bool val); -extern bt_value_status bt_value_array_append_unsigned_integer_element( - bt_value *array_obj, uint64_t val); +extern bt_value_array_append_element_status +bt_value_array_append_unsigned_integer_element(bt_value *array_obj, + uint64_t val); -extern bt_value_status bt_value_array_append_signed_integer_element( - bt_value *array_obj, int64_t val); +extern bt_value_array_append_element_status +bt_value_array_append_signed_integer_element(bt_value *array_obj, int64_t val); -extern bt_value_status bt_value_array_append_real_element( - bt_value *array_obj, double val); +extern bt_value_array_append_element_status +bt_value_array_append_real_element(bt_value *array_obj, double val); -extern bt_value_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_string_element(bt_value *array_obj, const char *val); -extern bt_value_status bt_value_array_append_empty_array_element( - bt_value *array_obj); +extern bt_value_array_append_element_status +bt_value_array_append_empty_array_element(bt_value *array_obj, + bt_value **element_obj); -extern bt_value_status bt_value_array_append_empty_map_element( - bt_value *array_obj); +extern bt_value_array_append_element_status +bt_value_array_append_empty_map_element(bt_value *array_obj, + bt_value **element_obj); -extern bt_value_status bt_value_array_set_element_by_index( - bt_value *array_obj, uint64_t index, +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, + BT_VALUE_ARRAY_SET_ELEMENT_BY_INDEX_STATUS_OK = __BT_FUNC_STATUS_OK, +} bt_value_array_set_element_by_index_status; + +extern bt_value_array_set_element_by_index_status +bt_value_array_set_element_by_index(bt_value *array_obj, uint64_t index, bt_value *element_obj); extern bt_value *bt_value_map_create(void); @@ -108,41 +126,74 @@ 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); - -extern bt_value_status bt_value_map_foreach_entry( - bt_value *map_obj, - bt_value_map_foreach_entry_func func, void *data); - -extern bt_value_status bt_value_map_insert_entry( - bt_value *map_obj, const char *key, - bt_value *element_obj); - -extern bt_value_status bt_value_map_insert_bool_entry( +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_OK = __BT_FUNC_STATUS_OK, + 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( + bt_value *map_obj, bt_value_map_foreach_entry_func func, + void *data); + +typedef enum bt_value_map_insert_entry_status { + BT_VALUE_MAP_INSERT_ENTRY_STATUS_MEMORY_ERROR = __BT_FUNC_STATUS_MEMORY_ERROR, + BT_VALUE_MAP_INSERT_ENTRY_STATUS_OK = __BT_FUNC_STATUS_OK, +} bt_value_map_insert_entry_status; + +extern bt_value_map_insert_entry_status bt_value_map_insert_entry( + bt_value *map_obj, const char *key, bt_value *element_obj); + +extern bt_value_map_insert_entry_status bt_value_map_insert_bool_entry( bt_value *map_obj, const char *key, bt_bool val); -extern bt_value_status bt_value_map_insert_unsigned_integer_entry( - bt_value *map_obj, const char *key, uint64_t val); +extern bt_value_map_insert_entry_status +bt_value_map_insert_unsigned_integer_entry(bt_value *map_obj, const char *key, + uint64_t val); -extern bt_value_status bt_value_map_insert_signed_integer_entry( - bt_value *map_obj, const char *key, int64_t val); +extern bt_value_map_insert_entry_status +bt_value_map_insert_signed_integer_entry(bt_value *map_obj, const char *key, + int64_t val); -extern bt_value_status bt_value_map_insert_real_entry( +extern bt_value_map_insert_entry_status bt_value_map_insert_real_entry( bt_value *map_obj, const char *key, double val); -extern bt_value_status bt_value_map_insert_string_entry( - bt_value *map_obj, const char *key, +extern bt_value_map_insert_entry_status +bt_value_map_insert_string_entry(bt_value *map_obj, const char *key, const char *val); -extern bt_value_status bt_value_map_insert_empty_array_entry( - bt_value *map_obj, const char *key); +extern bt_value_map_insert_entry_status +bt_value_map_insert_empty_array_entry(bt_value *map_obj, const char *key, + bt_value **entry_obj); -extern bt_value_status bt_value_map_insert_empty_map_entry( - bt_value *map_obj, const char *key); +extern bt_value_map_insert_entry_status +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 -#endif /* BABELTRACE_VALUES_H */ +#endif /* BABELTRACE2_VALUE_H */