Add CONNMAN_DEVICE_TYPE_GADGET and CONNMAN_SERVICE_TYPE_GADGET
authorMartin Xu <martin.xu@intel.com>
Wed, 8 Dec 2010 08:28:40 +0000 (16:28 +0800)
committerSamuel Ortiz <sameo@linux.intel.com>
Wed, 8 Dec 2010 11:24:58 +0000 (12:24 +0100)
13 files changed:
include/device.h
include/service.h
plugins/iospm.c
plugins/portal.c
src/detect.c
src/device.c
src/element.c
src/inet.c
src/notifier.c
src/rtnl.c
src/service.c
src/session.c
src/technology.c

index 31aa92b..c5e005d 100644 (file)
@@ -43,6 +43,7 @@ enum connman_device_type {
        CONNMAN_DEVICE_TYPE_BLUETOOTH = 4,
        CONNMAN_DEVICE_TYPE_CELLULAR  = 5,
        CONNMAN_DEVICE_TYPE_GPS       = 6,
+       CONNMAN_DEVICE_TYPE_GADGET    = 7,
        CONNMAN_DEVICE_TYPE_VENDOR    = 10000,
 };
 
index 16d10f2..e67dd42 100644 (file)
@@ -44,6 +44,7 @@ enum connman_service_type {
        CONNMAN_SERVICE_TYPE_CELLULAR  = 6,
        CONNMAN_SERVICE_TYPE_GPS       = 7,
        CONNMAN_SERVICE_TYPE_VPN       = 8,
+       CONNMAN_SERVICE_TYPE_GADGET    = 9,
 };
 
 enum connman_service_mode {
index 20c9b46..a36e4aa 100644 (file)
@@ -73,6 +73,7 @@ static void iospm_service_enabled(enum connman_service_type type,
        case CONNMAN_SERVICE_TYPE_CELLULAR:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                break;
        case CONNMAN_SERVICE_TYPE_BLUETOOTH:
                send_indication(IOSPM_BLUETOOTH, enabled);
index f1d5ce3..d4456f5 100644 (file)
@@ -123,6 +123,7 @@ static int location_detect(struct connman_location *location)
        case CONNMAN_SERVICE_TYPE_SYSTEM:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                return -EOPNOTSUPP;
        }
 
index c27d2cc..39ab06a 100644 (file)
@@ -63,6 +63,7 @@ static void detect_newlink(unsigned short type, int index,
                return;
        case CONNMAN_DEVICE_TYPE_ETHERNET:
        case CONNMAN_DEVICE_TYPE_WIFI:
+       case CONNMAN_DEVICE_TYPE_GADGET:
                break;
        }
 
index 7f2b54f..b8110c4 100644 (file)
@@ -124,6 +124,9 @@ static const char *type2description(enum connman_device_type type)
                return "GPS";
        case CONNMAN_DEVICE_TYPE_CELLULAR:
                return "Cellular";
+       case CONNMAN_DEVICE_TYPE_GADGET:
+               return "Gadget";
+
        }
 
        return NULL;
@@ -147,6 +150,9 @@ static const char *type2string(enum connman_device_type type)
                return "gps";
        case CONNMAN_DEVICE_TYPE_CELLULAR:
                return "cellular";
+       case CONNMAN_DEVICE_TYPE_GADGET:
+               return "gadget";
+
        }
 
        return NULL;
@@ -171,6 +177,9 @@ enum connman_service_type __connman_device_get_service_type(struct connman_devic
                return CONNMAN_SERVICE_TYPE_BLUETOOTH;
        case CONNMAN_DEVICE_TYPE_CELLULAR:
                return CONNMAN_SERVICE_TYPE_CELLULAR;
+       case CONNMAN_DEVICE_TYPE_GADGET:
+               return CONNMAN_SERVICE_TYPE_GADGET;
+
        }
 
        return CONNMAN_SERVICE_TYPE_UNKNOWN;
@@ -482,6 +491,9 @@ struct connman_device *connman_device_create(const char *node,
        case CONNMAN_DEVICE_TYPE_CELLULAR:
                device->scan_interval = 0;
                break;
+       case CONNMAN_DEVICE_TYPE_GADGET:
+               device->scan_interval = 0;
+               break;
        }
 
        device->networks = g_hash_table_new_full(g_str_hash, g_str_equal,
index 5d74bda..a4230b7 100644 (file)
@@ -205,6 +205,7 @@ struct connman_service *__connman_element_get_service(struct connman_element *el
        case CONNMAN_DEVICE_TYPE_UNKNOWN:
        case CONNMAN_DEVICE_TYPE_VENDOR:
        case CONNMAN_DEVICE_TYPE_GPS:
+       case CONNMAN_DEVICE_TYPE_GADGET:
                break;
        case CONNMAN_DEVICE_TYPE_ETHERNET:
        case CONNMAN_DEVICE_TYPE_WIFI:
@@ -290,6 +291,7 @@ static gboolean request_scan(GNode *node, gpointer user_data)
        case CONNMAN_SERVICE_TYPE_CELLULAR:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                return FALSE;
        case CONNMAN_SERVICE_TYPE_WIFI:
        case CONNMAN_SERVICE_TYPE_WIMAX:
@@ -334,6 +336,7 @@ static gboolean enable_technology(GNode *node, gpointer user_data)
        case CONNMAN_SERVICE_TYPE_SYSTEM:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                return FALSE;
        case CONNMAN_SERVICE_TYPE_ETHERNET:
        case CONNMAN_SERVICE_TYPE_WIFI:
@@ -386,6 +389,7 @@ static gboolean disable_technology(GNode *node, gpointer user_data)
        case CONNMAN_SERVICE_TYPE_SYSTEM:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                return FALSE;
        case CONNMAN_SERVICE_TYPE_ETHERNET:
        case CONNMAN_SERVICE_TYPE_WIFI:
index b5cd528..419126b 100644 (file)
@@ -470,6 +470,7 @@ struct connman_device *connman_inet_create_device(int index)
                g_free(devname);
                return NULL;
        case CONNMAN_DEVICE_TYPE_ETHERNET:
+       case CONNMAN_DEVICE_TYPE_GADGET:
        case CONNMAN_DEVICE_TYPE_WIFI:
        case CONNMAN_DEVICE_TYPE_WIMAX:
                name = index2ident(index, "");
@@ -493,6 +494,7 @@ struct connman_device *connman_inet_create_device(int index)
        case CONNMAN_DEVICE_TYPE_GPS:
                break;
        case CONNMAN_DEVICE_TYPE_ETHERNET:
+       case CONNMAN_DEVICE_TYPE_GADGET:
                ident = index2ident(index, NULL);
                break;
        case CONNMAN_DEVICE_TYPE_WIFI:
index 7871ffb..bf6aaa1 100644 (file)
@@ -223,6 +223,7 @@ void __connman_notifier_register(enum connman_service_type type)
        case CONNMAN_SERVICE_TYPE_SYSTEM:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                return;
        case CONNMAN_SERVICE_TYPE_ETHERNET:
        case CONNMAN_SERVICE_TYPE_WIFI:
@@ -245,6 +246,7 @@ void __connman_notifier_unregister(enum connman_service_type type)
        case CONNMAN_SERVICE_TYPE_SYSTEM:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                return;
        case CONNMAN_SERVICE_TYPE_ETHERNET:
        case CONNMAN_SERVICE_TYPE_WIFI:
@@ -267,6 +269,7 @@ void __connman_notifier_enable(enum connman_service_type type)
        case CONNMAN_SERVICE_TYPE_SYSTEM:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                return;
        case CONNMAN_SERVICE_TYPE_ETHERNET:
        case CONNMAN_SERVICE_TYPE_WIFI:
@@ -289,6 +292,7 @@ void __connman_notifier_disable(enum connman_service_type type)
        case CONNMAN_SERVICE_TYPE_SYSTEM:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                return;
        case CONNMAN_SERVICE_TYPE_ETHERNET:
        case CONNMAN_SERVICE_TYPE_WIFI:
@@ -311,6 +315,7 @@ void __connman_notifier_connect(enum connman_service_type type)
        case CONNMAN_SERVICE_TYPE_SYSTEM:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                return;
        case CONNMAN_SERVICE_TYPE_ETHERNET:
        case CONNMAN_SERVICE_TYPE_WIFI:
@@ -333,6 +338,7 @@ void __connman_notifier_disconnect(enum connman_service_type type)
        case CONNMAN_SERVICE_TYPE_SYSTEM:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                return;
        case CONNMAN_SERVICE_TYPE_ETHERNET:
        case CONNMAN_SERVICE_TYPE_WIFI:
@@ -413,6 +419,7 @@ static connman_bool_t technology_supported(enum connman_service_type type)
        case CONNMAN_SERVICE_TYPE_SYSTEM:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                return FALSE;
        case CONNMAN_SERVICE_TYPE_ETHERNET:
        case CONNMAN_SERVICE_TYPE_WIFI:
index a6a871d..8fea094 100644 (file)
@@ -176,6 +176,10 @@ static void read_uevent(struct interface_data *interface)
                } else if (strcmp(line + 8, "wimax") == 0) {
                        interface->service_type = CONNMAN_SERVICE_TYPE_WIMAX;
                        interface->device_type = CONNMAN_DEVICE_TYPE_WIMAX;
+               } else if (strcmp(line + 8, "gadget") == 0) {
+                       interface->service_type = CONNMAN_SERVICE_TYPE_GADGET;
+                       interface->device_type = CONNMAN_DEVICE_TYPE_GADGET;
+
                } else {
                        interface->service_type = CONNMAN_SERVICE_TYPE_UNKNOWN;
                        interface->device_type = CONNMAN_DEVICE_TYPE_UNKNOWN;
index aecbe9a..626cd31 100644 (file)
@@ -172,6 +172,8 @@ const char *__connman_service_type2string(enum connman_service_type type)
                return "gps";
        case CONNMAN_SERVICE_TYPE_VPN:
                return "vpn";
+       case CONNMAN_SERVICE_TYPE_GADGET:
+               return "gadget";
        }
 
        return NULL;
@@ -677,6 +679,7 @@ static void passphrase_changed(struct connman_service *service)
        case CONNMAN_SERVICE_TYPE_CELLULAR:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                return;
        case CONNMAN_SERVICE_TYPE_WIFI:
                required = FALSE;
@@ -728,6 +731,7 @@ static void apn_changed(struct connman_service *service)
        case CONNMAN_SERVICE_TYPE_WIFI:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                return;
        case CONNMAN_SERVICE_TYPE_CELLULAR:
                break;
@@ -1372,6 +1376,7 @@ static void append_properties(DBusMessageIter *dict, dbus_bool_t limited,
        case CONNMAN_SERVICE_TYPE_SYSTEM:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                break;
        case CONNMAN_SERVICE_TYPE_CELLULAR:
                connman_dbus_dict_append_basic(dict, "Roaming",
@@ -2788,6 +2793,7 @@ static gint service_compare(gconstpointer a, gconstpointer b,
                case CONNMAN_SERVICE_TYPE_ETHERNET:
                case CONNMAN_SERVICE_TYPE_GPS:
                case CONNMAN_SERVICE_TYPE_VPN:
+               case CONNMAN_SERVICE_TYPE_GADGET:
                        break;
                case CONNMAN_SERVICE_TYPE_WIFI:
                        return 1;
@@ -3224,6 +3230,7 @@ int __connman_service_connect(struct connman_service *service)
        case CONNMAN_SERVICE_TYPE_UNKNOWN:
        case CONNMAN_SERVICE_TYPE_SYSTEM:
        case CONNMAN_SERVICE_TYPE_GPS:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                return -EINVAL;
        case CONNMAN_SERVICE_TYPE_ETHERNET:
        case CONNMAN_SERVICE_TYPE_WIMAX:
@@ -4047,6 +4054,7 @@ struct connman_service * __connman_service_create_from_network(struct connman_ne
        case CONNMAN_SERVICE_TYPE_BLUETOOTH:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                service->autoconnect = FALSE;
                break;
        case CONNMAN_SERVICE_TYPE_WIFI:
@@ -4259,6 +4267,7 @@ static int service_load(struct connman_service *service)
        case CONNMAN_SERVICE_TYPE_ETHERNET:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                break;
        case CONNMAN_SERVICE_TYPE_WIFI:
                if (service->name == NULL) {
@@ -4456,6 +4465,7 @@ update:
        case CONNMAN_SERVICE_TYPE_ETHERNET:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                break;
        case CONNMAN_SERVICE_TYPE_WIFI:
                if (service->network) {
index 9264c0c..49aed25 100644 (file)
@@ -86,6 +86,7 @@ static char *service2bearer(enum connman_service_type type)
        case CONNMAN_SERVICE_TYPE_SYSTEM:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                return NULL;
        }
 
index d698ee9..a65136a 100644 (file)
@@ -120,6 +120,7 @@ void __connman_technology_add_interface(enum connman_service_type type,
        case CONNMAN_SERVICE_TYPE_CELLULAR:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                break;
        }
 
@@ -157,6 +158,7 @@ void __connman_technology_remove_interface(enum connman_service_type type,
        case CONNMAN_SERVICE_TYPE_CELLULAR:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                break;
        }
 
@@ -302,6 +304,7 @@ static const char *get_name(enum connman_service_type type)
        case CONNMAN_SERVICE_TYPE_SYSTEM:
        case CONNMAN_SERVICE_TYPE_GPS:
        case CONNMAN_SERVICE_TYPE_VPN:
+       case CONNMAN_SERVICE_TYPE_GADGET:
                break;
        case CONNMAN_SERVICE_TYPE_ETHERNET:
                return "Wired";