diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2008-10-17 05:38:30 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2008-10-17 05:38:30 +0200 |
commit | e12170a1242177b4acd357390b812ecdc32792f3 (patch) | |
tree | bc2bbdc2860d415c62ad9bb04b6232135cb3fd90 | |
parent | 5a5f2338053e56104bffde1a92a1d903ec934173 (diff) | |
download | connman-e12170a1242177b4acd357390b812ecdc32792f3.tar.gz connman-e12170a1242177b4acd357390b812ecdc32792f3.tar.bz2 connman-e12170a1242177b4acd357390b812ecdc32792f3.zip |
Make use of generic D-Bus helpers
-rw-r--r-- | plugins/supplicant.c | 70 | ||||
-rw-r--r-- | src/element.c | 102 |
2 files changed, 25 insertions, 147 deletions
diff --git a/plugins/supplicant.c b/plugins/supplicant.c index d72b8383..de56f8da 100644 --- a/plugins/supplicant.c +++ b/plugins/supplicant.c @@ -27,6 +27,7 @@ #include <dbus/dbus.h> #include <connman/log.h> +#include <connman/dbus.h> #include "inet.h" #include "supplicant.h" @@ -474,63 +475,6 @@ static int disable_network(struct supplicant_task *task) return 0; } -static void append_entry(DBusMessageIter *dict, - const char *key, int type, void *val) -{ - DBusMessageIter entry, value; - const char *signature; - - dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, - NULL, &entry); - - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key); - - switch (type) { - case DBUS_TYPE_STRING: - signature = DBUS_TYPE_STRING_AS_STRING; - break; - case DBUS_TYPE_UINT16: - signature = DBUS_TYPE_UINT16_AS_STRING; - break; - default: - signature = DBUS_TYPE_VARIANT_AS_STRING; - break; - } - - dbus_message_iter_open_container(&entry, DBUS_TYPE_VARIANT, - signature, &value); - dbus_message_iter_append_basic(&value, type, val); - dbus_message_iter_close_container(&entry, &value); - - dbus_message_iter_close_container(dict, &entry); -} - -static void append_array(DBusMessageIter *dict, - const char *key, int type, void *val, int len) -{ - DBusMessageIter entry, value, array; - - if (type != DBUS_TYPE_BYTE) - return; - - dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, - NULL, &entry); - - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key); - - dbus_message_iter_open_container(&entry, DBUS_TYPE_VARIANT, - DBUS_TYPE_ARRAY_AS_STRING DBUS_TYPE_BYTE_AS_STRING, &value); - - dbus_message_iter_open_container(&value, DBUS_TYPE_ARRAY, - DBUS_TYPE_BYTE_AS_STRING, &array); - dbus_message_iter_append_fixed_array(&array, type, val, len); - dbus_message_iter_close_container(&value, &array); - - dbus_message_iter_close_container(&entry, &value); - - dbus_message_iter_close_container(dict, &entry); -} - static int set_network(struct supplicant_task *task, const unsigned char *network, int len, const char *passphrase) @@ -556,15 +500,19 @@ static int set_network(struct supplicant_task *task, DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_VARIANT_AS_STRING DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict); - append_array(&dict, "ssid", DBUS_TYPE_BYTE, &network, len); + connman_dbus_dict_append_array(&dict, "ssid", + DBUS_TYPE_BYTE, &network, len); if (passphrase && strlen(passphrase) > 0) { const char *key_mgmt = "WPA-PSK"; - append_entry(&dict, "key_mgmt", DBUS_TYPE_STRING, &key_mgmt); - append_entry(&dict, "psk", DBUS_TYPE_STRING, &passphrase); + connman_dbus_dict_append_variant(&dict, "key_mgmt", + DBUS_TYPE_STRING, &key_mgmt); + connman_dbus_dict_append_variant(&dict, "psk", + DBUS_TYPE_STRING, &passphrase); } else { const char *key_mgmt = "NONE"; - append_entry(&dict, "key_mgmt", DBUS_TYPE_STRING, &key_mgmt); + connman_dbus_dict_append_variant(&dict, "key_mgmt", + DBUS_TYPE_STRING, &key_mgmt); } dbus_message_iter_close_container(&array, &dict); diff --git a/src/element.c b/src/element.c index 83a9e9e3..cb513ecf 100644 --- a/src/element.c +++ b/src/element.c @@ -144,79 +144,6 @@ static const char *subtype2string(enum connman_element_subtype type) return NULL; } -static void append_array(DBusMessageIter *dict, - const char *key, int type, void *val, int len) -{ - DBusMessageIter entry, value, array; - const char *variant_sig, *array_sig; - - switch (type) { - case DBUS_TYPE_BYTE: - variant_sig = DBUS_TYPE_ARRAY_AS_STRING DBUS_TYPE_BYTE_AS_STRING; - array_sig = DBUS_TYPE_BYTE_AS_STRING; - break; - default: - return; - } - - dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, - NULL, &entry); - - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key); - - dbus_message_iter_open_container(&entry, DBUS_TYPE_VARIANT, - variant_sig, &value); - - dbus_message_iter_open_container(&value, DBUS_TYPE_ARRAY, - array_sig, &array); - dbus_message_iter_append_fixed_array(&array, type, val, len); - dbus_message_iter_close_container(&value, &array); - - dbus_message_iter_close_container(&entry, &value); - - dbus_message_iter_close_container(dict, &entry); -} - -static void append_entry(DBusMessageIter *dict, - const char *key, int type, void *val) -{ - DBusMessageIter entry, value; - const char *signature; - - dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, - NULL, &entry); - - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key); - - switch (type) { - case DBUS_TYPE_BOOLEAN: - signature = DBUS_TYPE_BOOLEAN_AS_STRING; - break; - case DBUS_TYPE_STRING: - signature = DBUS_TYPE_STRING_AS_STRING; - break; - case DBUS_TYPE_UINT16: - signature = DBUS_TYPE_UINT16_AS_STRING; - break; - case DBUS_TYPE_UINT32: - signature = DBUS_TYPE_UINT32_AS_STRING; - break; - case DBUS_TYPE_OBJECT_PATH: - signature = DBUS_TYPE_OBJECT_PATH_AS_STRING; - break; - default: - signature = DBUS_TYPE_VARIANT_AS_STRING; - break; - } - - dbus_message_iter_open_container(&entry, DBUS_TYPE_VARIANT, - signature, &value); - dbus_message_iter_append_basic(&value, type, val); - dbus_message_iter_close_container(&entry, &value); - - dbus_message_iter_close_container(dict, &entry); -} - static void append_property(DBusMessageIter *dict, struct connman_property *property) { @@ -224,11 +151,11 @@ static void append_property(DBusMessageIter *dict, return; if (property->type == DBUS_TYPE_ARRAY) - append_array(dict, property->name, property->subtype, - &property->value, property->size); + connman_dbus_dict_append_array(dict, property->name, + property->subtype, &property->value, property->size); else - append_entry(dict, property->name, property->type, - &property->value); + connman_dbus_dict_append_variant(dict, property->name, + property->type, &property->value); } static DBusMessage *get_properties(DBusConnection *conn, @@ -255,31 +182,34 @@ static DBusMessage *get_properties(DBusConnection *conn, if (element->parent != NULL && element->parent->type != CONNMAN_ELEMENT_TYPE_ROOT) { - append_entry(&dict, "Parent", + connman_dbus_dict_append_variant(&dict, "Parent", DBUS_TYPE_OBJECT_PATH, &element->parent->path); } str = type2string(element->type); if (str != NULL) - append_entry(&dict, "Type", DBUS_TYPE_STRING, &str); + connman_dbus_dict_append_variant(&dict, "Type", + DBUS_TYPE_STRING, &str); str = subtype2string(element->subtype); if (str != NULL) - append_entry(&dict, "Subtype", DBUS_TYPE_STRING, &str); + connman_dbus_dict_append_variant(&dict, "Subtype", + DBUS_TYPE_STRING, &str); - append_entry(&dict, "Enabled", DBUS_TYPE_BOOLEAN, &element->enabled); + connman_dbus_dict_append_variant(&dict, "Enabled", + DBUS_TYPE_BOOLEAN, &element->enabled); if (element->priority > 0) - append_entry(&dict, "Priority", - DBUS_TYPE_UINT16, &element->priority); + connman_dbus_dict_append_variant(&dict, "Priority", + DBUS_TYPE_UINT16, &element->priority); if (element->ipv4.address != NULL) - append_entry(&dict, "IPv4.Address", + connman_dbus_dict_append_variant(&dict, "IPv4.Address", DBUS_TYPE_STRING, &element->ipv4.address); if (element->ipv4.netmask != NULL) - append_entry(&dict, "IPv4.Netmask", + connman_dbus_dict_append_variant(&dict, "IPv4.Netmask", DBUS_TYPE_STRING, &element->ipv4.netmask); if (element->ipv4.gateway != NULL) - append_entry(&dict, "IPv4.Gateway", + connman_dbus_dict_append_variant(&dict, "IPv4.Gateway", DBUS_TYPE_STRING, &element->ipv4.gateway); connman_element_lock(element); |