Add device type for Nozomi based hardware
[connman] / src / detect.c
index 57ea83e..fab79d4 100644 (file)
@@ -2,7 +2,7 @@
  *
  *  Connection Manager
  *
- *  Copyright (C) 2007-2008  Intel Corporation. All rights reserved.
+ *  Copyright (C) 2007-2009  Intel Corporation. All rights reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License version 2 as
@@ -130,7 +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;
+       enum connman_device_mode mode = CONNMAN_DEVICE_MODE_UNKNOWN;
        struct connman_device *device;
        gchar *name, *devname;
 
@@ -177,18 +177,23 @@ static void detect_newlink(unsigned short type, int index,
                        devtype = CONNMAN_DEVICE_TYPE_HSO;
        }
 
-       if (devtype == CONNMAN_DEVICE_TYPE_UNKNOWN) {
+       switch (devtype) {
+       case CONNMAN_DEVICE_TYPE_UNKNOWN:
                g_free(devname);
                return;
-       }
-
-       switch (devtype) {
+       case CONNMAN_DEVICE_TYPE_ETHERNET:
+       case CONNMAN_DEVICE_TYPE_WIFI:
+       case CONNMAN_DEVICE_TYPE_WIMAX:
+               name = index2ident(index, "dev_");
+               break;
+       case CONNMAN_DEVICE_TYPE_BLUETOOTH:
        case CONNMAN_DEVICE_TYPE_HSO:
+       case CONNMAN_DEVICE_TYPE_NOZOMI:
+       case CONNMAN_DEVICE_TYPE_HUAWEI:
+       case CONNMAN_DEVICE_TYPE_NOVATEL:
+       case CONNMAN_DEVICE_TYPE_VENDOR:
                name = strdup(devname);
                break;
-       default:
-               name = index2ident(index, "dev_");
-               break;
        }
 
        device = connman_device_create(name, devtype);
@@ -201,6 +206,9 @@ static void detect_newlink(unsigned short type, int index,
        switch (devtype) {
        case CONNMAN_DEVICE_TYPE_UNKNOWN:
        case CONNMAN_DEVICE_TYPE_VENDOR:
+       case CONNMAN_DEVICE_TYPE_NOZOMI:
+       case CONNMAN_DEVICE_TYPE_HUAWEI:
+       case CONNMAN_DEVICE_TYPE_NOVATEL:
                mode = CONNMAN_DEVICE_MODE_UNKNOWN;
                break;
        case CONNMAN_DEVICE_TYPE_ETHERNET: