summaryrefslogtreecommitdiff
path: root/src/device.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-06-29 21:19:40 +0200
committerMarcel Holtmann <marcel@holtmann.org>2009-06-29 21:19:40 +0200
commit0855c6c2ff2987ae3ec8605751cf0564edf33d8d (patch)
tree561c399180f61bf241cd0a012c2eb2c223cae127 /src/device.c
parent56553da25bd1a4d7f8976e2d4f818f27c40233dc (diff)
downloadconnman-0855c6c2ff2987ae3ec8605751cf0564edf33d8d.tar.gz
connman-0855c6c2ff2987ae3ec8605751cf0564edf33d8d.tar.bz2
connman-0855c6c2ff2987ae3ec8605751cf0564edf33d8d.zip
Hook up setting of IPv4 properties
Diffstat (limited to 'src/device.c')
-rw-r--r--src/device.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/device.c b/src/device.c
index 2ff7d71d..347f6515 100644
--- a/src/device.c
+++ b/src/device.c
@@ -410,18 +410,24 @@ static DBusMessage *set_property(DBusConnection *conn,
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);