From: Marcel Holtmann Date: Mon, 29 Jun 2009 19:44:19 +0000 (+0200) Subject: Add support for exporting IP configuration properties X-Git-Tag: 0.20~31 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8429b31fdbfcc33c1509de5e7011aede1838a9ea;p=platform%2Fupstream%2Fconnman.git Add support for exporting IP configuration properties --- diff --git a/src/connman.h b/src/connman.h index 753c43f..d170a90 100644 --- a/src/connman.h +++ b/src/connman.h @@ -90,6 +90,8 @@ int __connman_security_check_privilege(DBusMessage *message, const char *__connman_ipconfig_method2string(enum connman_ipconfig_method method); enum connman_ipconfig_method __connman_ipconfig_string2method(const char *method); +void __connman_ipconfig_append_ipv4(struct connman_ipconfig *ipconfig, + DBusMessageIter *iter, const char *prefix); int __connman_ipconfig_set_ipv4(struct connman_ipconfig *ipconfig, const char *key, DBusMessageIter *value); diff --git a/src/ipconfig.c b/src/ipconfig.c index 79bed29..e272e39 100644 --- a/src/ipconfig.c +++ b/src/ipconfig.c @@ -108,6 +108,35 @@ enum connman_ipconfig_method __connman_ipconfig_string2method(const char *method return CONNMAN_IPCONFIG_METHOD_UNKNOWN; } +static void append_variant(DBusMessageIter *iter, const char *prefix, + const char *key, int type, void *val) +{ + char *str; + + if (prefix == NULL) { + connman_dbus_dict_append_variant(iter, key, type, val); + return; + } + + str = g_strdup_printf("%s%s", prefix, key); + if (str != NULL) + connman_dbus_dict_append_variant(iter, str, type, val); + + g_free(str); +} + +void __connman_ipconfig_append_ipv4(struct connman_ipconfig *ipconfig, + DBusMessageIter *iter, const char *prefix) +{ + const char *str; + + str = __connman_ipconfig_method2string(ipconfig->method); + if (str == NULL) + return; + + append_variant(iter, prefix, "Method", DBUS_TYPE_STRING, &str); +} + int __connman_ipconfig_set_ipv4(struct connman_ipconfig *ipconfig, const char *key, DBusMessageIter *value) { diff --git a/src/service.c b/src/service.c index 0e2ee6d..002bc84 100644 --- a/src/service.c +++ b/src/service.c @@ -296,6 +296,8 @@ static DBusMessage *get_properties(DBusConnection *conn, connman_dbus_dict_append_variant(&dict, "Passphrase", DBUS_TYPE_STRING, &service->passphrase); + __connman_ipconfig_append_ipv4(service->ipconfig, &dict, "IPv4."); + dbus_message_iter_close_container(&array, &dict); return reply;