dbus_dict_helpers.h (214501) | dbus_dict_helpers.h (252190) |
---|---|
1/* 2 * WPA Supplicant / dbus-based control interface 3 * Copyright (c) 2006, Dan Williams <dcbw@redhat.com> and Red Hat, Inc. 4 * | 1/* 2 * WPA Supplicant / dbus-based control interface 3 * Copyright (c) 2006, Dan Williams <dcbw@redhat.com> and Red Hat, Inc. 4 * |
5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License version 2 as 7 * published by the Free Software Foundation. 8 * 9 * Alternatively, this software may be distributed under the terms of BSD 10 * license. 11 * 12 * See README and COPYING for more details. | 5 * This software may be distributed under the terms of the BSD license. 6 * See README for more details. |
13 */ 14 15#ifndef DBUS_DICT_HELPERS_H 16#define DBUS_DICT_HELPERS_H 17 | 7 */ 8 9#ifndef DBUS_DICT_HELPERS_H 10#define DBUS_DICT_HELPERS_H 11 |
12#include "wpabuf.h" 13 |
|
18/* 19 * Adding a dict to a DBusMessage 20 */ 21 22dbus_bool_t wpa_dbus_dict_open_write(DBusMessageIter *iter, 23 DBusMessageIter *iter_dict); 24 25dbus_bool_t wpa_dbus_dict_close_write(DBusMessageIter *iter, --- 43 unchanged lines hidden (view full) --- 69 const char *key, 70 const char *value); 71 72dbus_bool_t wpa_dbus_dict_append_byte_array(DBusMessageIter *iter_dict, 73 const char *key, 74 const char *value, 75 const dbus_uint32_t value_len); 76 | 14/* 15 * Adding a dict to a DBusMessage 16 */ 17 18dbus_bool_t wpa_dbus_dict_open_write(DBusMessageIter *iter, 19 DBusMessageIter *iter_dict); 20 21dbus_bool_t wpa_dbus_dict_close_write(DBusMessageIter *iter, --- 43 unchanged lines hidden (view full) --- 65 const char *key, 66 const char *value); 67 68dbus_bool_t wpa_dbus_dict_append_byte_array(DBusMessageIter *iter_dict, 69 const char *key, 70 const char *value, 71 const dbus_uint32_t value_len); 72 |
77/* Manual construction and addition of string array elements */ | 73/* Manual construction and addition of array elements */ 74dbus_bool_t wpa_dbus_dict_begin_array(DBusMessageIter *iter_dict, 75 const char *key, const char *type, 76 DBusMessageIter *iter_dict_entry, 77 DBusMessageIter *iter_dict_val, 78 DBusMessageIter *iter_array); 79 |
78dbus_bool_t wpa_dbus_dict_begin_string_array(DBusMessageIter *iter_dict, 79 const char *key, 80 DBusMessageIter *iter_dict_entry, 81 DBusMessageIter *iter_dict_val, 82 DBusMessageIter *iter_array); 83 84dbus_bool_t wpa_dbus_dict_string_array_add_element(DBusMessageIter *iter_array, 85 const char *elem); 86 | 80dbus_bool_t wpa_dbus_dict_begin_string_array(DBusMessageIter *iter_dict, 81 const char *key, 82 DBusMessageIter *iter_dict_entry, 83 DBusMessageIter *iter_dict_val, 84 DBusMessageIter *iter_array); 85 86dbus_bool_t wpa_dbus_dict_string_array_add_element(DBusMessageIter *iter_array, 87 const char *elem); 88 |
87dbus_bool_t wpa_dbus_dict_end_string_array(DBusMessageIter *iter_dict, 88 DBusMessageIter *iter_dict_entry, 89 DBusMessageIter *iter_dict_val, 90 DBusMessageIter *iter_array); | 89dbus_bool_t wpa_dbus_dict_bin_array_add_element(DBusMessageIter *iter_array, 90 const u8 *value, 91 size_t value_len); |
91 | 92 |
93dbus_bool_t wpa_dbus_dict_end_array(DBusMessageIter *iter_dict, 94 DBusMessageIter *iter_dict_entry, 95 DBusMessageIter *iter_dict_val, 96 DBusMessageIter *iter_array); 97 98static inline dbus_bool_t 99wpa_dbus_dict_end_string_array(DBusMessageIter *iter_dict, 100 DBusMessageIter *iter_dict_entry, 101 DBusMessageIter *iter_dict_val, 102 DBusMessageIter *iter_array) 103{ 104 return wpa_dbus_dict_end_array(iter_dict, iter_dict_entry, 105 iter_dict_val, iter_array); 106} 107 |
|
92/* Convenience function to add a whole string list */ 93dbus_bool_t wpa_dbus_dict_append_string_array(DBusMessageIter *iter_dict, 94 const char *key, 95 const char **items, 96 const dbus_uint32_t num_items); 97 | 108/* Convenience function to add a whole string list */ 109dbus_bool_t wpa_dbus_dict_append_string_array(DBusMessageIter *iter_dict, 110 const char *key, 111 const char **items, 112 const dbus_uint32_t num_items); 113 |
114dbus_bool_t wpa_dbus_dict_append_wpabuf_array(DBusMessageIter *iter_dict, 115 const char *key, 116 const struct wpabuf **items, 117 const dbus_uint32_t num_items); 118 |
|
98/* 99 * Reading a dict from a DBusMessage 100 */ 101 | 119/* 120 * Reading a dict from a DBusMessage 121 */ 122 |
123#define WPAS_DBUS_TYPE_BINARRAY (DBUS_NUMBER_OF_TYPES + 100) 124 |
|
102struct wpa_dbus_dict_entry { 103 int type; /** the dbus type of the dict entry's value */ 104 int array_type; /** the dbus type of the array elements if the dict | 125struct wpa_dbus_dict_entry { 126 int type; /** the dbus type of the dict entry's value */ 127 int array_type; /** the dbus type of the array elements if the dict |
105 entry value contains an array */ | 128 entry value contains an array, or the special 129 WPAS_DBUS_TYPE_BINARRAY */ |
106 const char *key; /** key of the dict entry */ 107 108 /** Possible values of the property */ 109 union { 110 char *str_value; 111 char byte_value; 112 dbus_bool_t bool_value; 113 dbus_int16_t int16_value; 114 dbus_uint16_t uint16_value; 115 dbus_int32_t int32_value; 116 dbus_uint32_t uint32_value; 117 dbus_int64_t int64_value; 118 dbus_uint64_t uint64_value; 119 double double_value; 120 char *bytearray_value; 121 char **strarray_value; | 130 const char *key; /** key of the dict entry */ 131 132 /** Possible values of the property */ 133 union { 134 char *str_value; 135 char byte_value; 136 dbus_bool_t bool_value; 137 dbus_int16_t int16_value; 138 dbus_uint16_t uint16_value; 139 dbus_int32_t int32_value; 140 dbus_uint32_t uint32_value; 141 dbus_int64_t int64_value; 142 dbus_uint64_t uint64_value; 143 double double_value; 144 char *bytearray_value; 145 char **strarray_value; |
146 struct wpabuf **binarray_value; |
|
122 }; 123 dbus_uint32_t array_len; /** length of the array if the dict entry's 124 value contains an array */ 125}; 126 127dbus_bool_t wpa_dbus_dict_open_read(DBusMessageIter *iter, | 147 }; 148 dbus_uint32_t array_len; /** length of the array if the dict entry's 149 value contains an array */ 150}; 151 152dbus_bool_t wpa_dbus_dict_open_read(DBusMessageIter *iter, |
128 DBusMessageIter *iter_dict); | 153 DBusMessageIter *iter_dict, 154 DBusError *error); |
129 130dbus_bool_t wpa_dbus_dict_get_entry(DBusMessageIter *iter_dict, 131 struct wpa_dbus_dict_entry *entry); 132 133dbus_bool_t wpa_dbus_dict_has_dict_entry(DBusMessageIter *iter_dict); 134 135void wpa_dbus_dict_entry_clear(struct wpa_dbus_dict_entry *entry); 136 137#endif /* DBUS_DICT_HELPERS_H */ | 155 156dbus_bool_t wpa_dbus_dict_get_entry(DBusMessageIter *iter_dict, 157 struct wpa_dbus_dict_entry *entry); 158 159dbus_bool_t wpa_dbus_dict_has_dict_entry(DBusMessageIter *iter_dict); 160 161void wpa_dbus_dict_entry_clear(struct wpa_dbus_dict_entry *entry); 162 163#endif /* DBUS_DICT_HELPERS_H */ |