diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2009-01-01 18:52:16 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-01-01 18:52:16 +0100 |
commit | 3909f166fb41fba2521bf84ed5fc87d367c163b8 (patch) | |
tree | 80fa5f4c0bc5057805f4bf209447ca34b04af7ae /src/detect.c | |
parent | 5be6dc3d4b22d736bb47e6fd6d4d5c8c11f70364 (diff) | |
download | connman-3909f166fb41fba2521bf84ed5fc87d367c163b8.tar.gz connman-3909f166fb41fba2521bf84ed5fc87d367c163b8.tar.bz2 connman-3909f166fb41fba2521bf84ed5fc87d367c163b8.zip |
Allow transport definition for device mode
Diffstat (limited to 'src/detect.c')
-rw-r--r-- | src/detect.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/detect.c b/src/detect.c index 781b8fa9..57ea83ee 100644 --- a/src/detect.c +++ b/src/detect.c @@ -130,6 +130,7 @@ static void detect_newlink(unsigned short type, int index, unsigned flags, unsigned change) { enum connman_device_type devtype = CONNMAN_DEVICE_TYPE_UNKNOWN; + enum connman_device_mode mode; struct connman_device *device; gchar *name, *devname; @@ -198,15 +199,28 @@ static void detect_newlink(unsigned short type, int index, } switch (devtype) { + case CONNMAN_DEVICE_TYPE_UNKNOWN: + case CONNMAN_DEVICE_TYPE_VENDOR: + mode = CONNMAN_DEVICE_MODE_UNKNOWN; + break; + case CONNMAN_DEVICE_TYPE_ETHERNET: + mode = CONNMAN_DEVICE_MODE_TRANSPORT_IP; + break; + case CONNMAN_DEVICE_TYPE_WIFI: + case CONNMAN_DEVICE_TYPE_WIMAX: + mode = CONNMAN_DEVICE_MODE_NETWORK_SINGLE; + break; + case CONNMAN_DEVICE_TYPE_BLUETOOTH: + mode = CONNMAN_DEVICE_MODE_NETWORK_MULTIPLE; + break; case CONNMAN_DEVICE_TYPE_HSO: + mode = CONNMAN_DEVICE_MODE_NETWORK_SINGLE; connman_device_set_policy(device, CONNMAN_DEVICE_POLICY_MANUAL); - connman_device_set_mode(device, - CONNMAN_DEVICE_MODE_SINGLE_NETWORK); - break; - default: break; } + connman_device_set_mode(device, mode); + connman_device_set_index(device, index); connman_device_set_interface(device, devname); |