const char *__connman_ipconfig_method2string(enum connman_ipconfig_method method);
enum connman_ipconfig_method __connman_ipconfig_string2method(const char *method);
+int __connman_ipconfig_set_ipv4(struct connman_ipconfig *ipconfig,
+ const char *key, DBusMessageIter *value);
+
#include <connman/inet.h>
#include <connman/rfkill.h>
device->scan_timeout = g_timeout_add_seconds(interval,
device_scan_trigger, device);
}
- } else if (g_str_has_prefix(name, "IPv4") == TRUE) {
+ } else if (g_str_has_prefix(name, "IPv4.") == TRUE) {
+ int err;
+
switch (device->mode) {
case CONNMAN_DEVICE_MODE_UNKNOWN:
case CONNMAN_DEVICE_MODE_NETWORK_SINGLE:
case CONNMAN_DEVICE_MODE_NETWORK_MULTIPLE:
return __connman_error_invalid_arguments(msg);
case CONNMAN_DEVICE_MODE_TRANSPORT_IP:
- __connman_element_set_ipv4(&device->element,
- name, &value);
break;
}
- }
+
+ err = __connman_ipconfig_set_ipv4(device->ipconfig,
+ name + 5, &value);
+ if (err < 0)
+ return __connman_error_failed(msg, -err);
+ } else
+ return __connman_error_invalid_property(msg);
__connman_storage_save_device(device);
#include <config.h>
#endif
+#include <gdbus.h>
+
#include "connman.h"
struct connman_ipconfig {
}
}
+int __connman_ipconfig_set_ipv4(struct connman_ipconfig *ipconfig,
+ const char *key, DBusMessageIter *value)
+{
+ DBG("ipconfig %p key %s", ipconfig, key);
+
+ return -EIO;
+}
+
static GSList *driver_list = NULL;
static gint compare_priority(gconstpointer a, gconstpointer b)
g_free(network->wifi.passphrase);
network->wifi.passphrase = g_strdup(passphrase);
- }
+ } else if (g_str_has_prefix(name, "IPv4.") == TRUE) {
+ int err;
+
+ err = __connman_ipconfig_set_ipv4(network->ipconfig,
+ name + 5, &value);
+ if (err < 0)
+ return __connman_error_failed(msg, -err);
+ } else
+ return __connman_error_invalid_property(msg);
__connman_storage_save_network(network);
"WiFi.Passphrase", service->passphrase);
__connman_storage_save_service(service);
+ } else if (g_str_has_prefix(name, "IPv4.") == TRUE) {
+ int err;
+
+ err = __connman_ipconfig_set_ipv4(service->ipconfig,
+ name + 5, &value);
+ if (err < 0)
+ return __connman_error_failed(msg, -err);
} else
return __connman_error_invalid_property(msg);