diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2011-12-21 11:13:45 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2012-03-15 14:14:36 +0100 |
commit | a422f5619fbcc99dd1e14905ecad52583b168847 (patch) | |
tree | 48591915dfb8a4b0afea05fe0266a3d558c12bf1 | |
parent | dcfe2e53901a2417c822a9d3558ede5174e2e4bc (diff) |
libmm-glib: generic warning if IP config dictionary has unexpected contents
-rw-r--r-- | libmm-glib/mm-bearer.c | 44 | ||||
-rw-r--r-- | libmm-glib/mm-bearer.h | 8 |
2 files changed, 17 insertions, 35 deletions
diff --git a/libmm-glib/mm-bearer.c b/libmm-glib/mm-bearer.c index e82d610d..702fe7c1 100644 --- a/libmm-glib/mm-bearer.c +++ b/libmm-glib/mm-bearer.c @@ -235,42 +235,28 @@ create_ip_config_struct (GVariant *variant) g_variant_iter_init (&iter, variant); while (g_variant_iter_loop (&iter, "{sv}", &key, &value)) { if (g_str_equal (key, "method")) { - if (c->method) - g_warning ("Duplicate 'method' key found in Bearer IP configuration"); - else - c->method = (MMBearerIpMethod) g_variant_get_uint32 (value); + g_warn_if_fail (c->method == 0); + c->method = (MMBearerIpMethod) g_variant_get_uint32 (value); } else if (g_str_equal (key, "address")) { - if (c->address) - g_warning ("Duplicate 'address' key found in Bearer IP configuration"); - else - c->address = g_variant_dup_string (value, NULL); + g_warn_if_fail (c->address == NULL); + c->address = g_variant_dup_string (value, NULL); } else if (g_str_equal (key, "prefix")) { - if (c->prefix) - g_warning ("Duplicate 'prefix' key found in Bearer IP configuration"); - else - c->prefix = g_variant_get_uint32 (value); + g_warn_if_fail (c->prefix == 0); + c->prefix = g_variant_get_uint32 (value); } else if (g_str_equal (key, "dns1")) { - if (c->dns[0]) - g_warning ("Duplicate 'dns1' key found in Bearer IP configuration"); - else - c->dns[0] = g_variant_dup_string (value, NULL); + g_warn_if_fail (c->dns[0] == NULL); + c->dns[0] = g_variant_dup_string (value, NULL); } else if (g_str_equal (key, "dns2")) { - if (c->dns[1]) - g_warning ("Duplicate 'dns2' key found in Bearer IP configuration"); - else - c->dns[1] = g_variant_dup_string (value, NULL); + g_warn_if_fail (c->dns[1] == NULL); + c->dns[1] = g_variant_dup_string (value, NULL); } else if (g_str_equal (key, "dns3")) { - if (c->dns[2]) - g_warning ("Duplicate 'dns3' key found in Bearer IP configuration"); - else - c->dns[2] = g_variant_dup_string (value, NULL); + g_warn_if_fail (c->dns[2] == NULL); + c->dns[2] = g_variant_dup_string (value, NULL); } else if (g_str_equal (key, "gateway")) { - if (c->gateway) - g_warning ("Duplicate 'gateway' key found in Bearer IP configuration"); - else - c->gateway = g_variant_dup_string (value, NULL); + g_warn_if_fail (c->gateway == NULL); + c->gateway = g_variant_dup_string (value, NULL); } else - g_warning ("Invalid property '%s' found in Bearer IP configuration", key); + g_warning ("Unexpected property '%s' found in Bearer IP configuration", key); } /* If no method is set, don't build the config struct */ diff --git a/libmm-glib/mm-bearer.h b/libmm-glib/mm-bearer.h index 67901284..988cc8d5 100644 --- a/libmm-glib/mm-bearer.h +++ b/libmm-glib/mm-bearer.h @@ -30,13 +30,9 @@ G_BEGIN_DECLS /** * MMBearerIpConfig: - * @method: a #MMBearerIpMethod. - * @address: IP address, only if @method is #MM_BEARER_IP_METHOD_STATIC. - * @prefix: Numeric CIDR network prefix, only if @method is #MM_BEARER_IP_METHOD_STATIC. - * @dns: Array of DNS server IP addresses, only if @method is #MM_BEARER_IP_METHOD_STATIC. - * @gateway: IP address of the default gateway, only if @method is #MM_BEARER_IP_METHOD_STATIC. * - * Addressing details for assignment to the data interface + * Addressing details for assignment to the data interface. + * This is an opaque struct. */ typedef struct _MMBearerIpConfig MMBearerIpConfig; |