X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fbindings%2Fpython%2Fbt2%2Fbt2%2Fnative_bt_value.i;h=c04bb7f5f8aa73ad71a23b302cff4158b3082d2c;hb=43c59509042845f8d42c3e99ec74d45fa2dc0908;hp=e9eea0435b613873088c35e306f27fa1e65bd955;hpb=d24d56638469189904fb6ddbb3c725817b3e9417;p=babeltrace.git diff --git a/src/bindings/python/bt2/bt2/native_bt_value.i b/src/bindings/python/bt2/bt2/native_bt_value.i index e9eea043..c04bb7f5 100644 --- a/src/bindings/python/bt2/bt2/native_bt_value.i +++ b/src/bindings/python/bt2/bt2/native_bt_value.i @@ -22,53 +22,10 @@ * THE SOFTWARE. */ -%include %include %{ -struct bt_value_map_get_keys_data { - struct bt_value *keys; -}; - -static int bt_value_map_get_keys_cb(const char *key, const struct bt_value *object, void *data) -{ - bt_value_array_append_element_status status; - struct bt_value_map_get_keys_data *priv_data = data; - - status = bt_value_array_append_string_element(priv_data->keys, key); - if (status != __BT_FUNC_STATUS_OK) { - return BT_FALSE; - } - - return BT_TRUE; -} - -static struct bt_value *bt_value_map_get_keys(const struct bt_value *map_obj) -{ - bt_value_map_foreach_entry_const_status status; - struct bt_value_map_get_keys_data data; - - data.keys = bt_value_array_create(); - if (!data.keys) { - return NULL; - } - - status = bt_value_map_foreach_entry_const(map_obj, bt_value_map_get_keys_cb, - &data); - if (status != __BT_FUNC_STATUS_OK) { - goto error; - } - - goto end; - -error: - if (data.keys) { - BT_VALUE_PUT_REF_AND_RESET(data.keys); - } - -end: - return data.keys; -} +#include "native_bt_value.i.h" %} struct bt_value *bt_value_map_get_keys(const struct bt_value *map_obj);