gsupplicant: Add interface bridge setting
authorSamuel Ortiz <sameo@linux.intel.com>
Tue, 1 Feb 2011 15:35:08 +0000 (16:35 +0100)
committerSamuel Ortiz <sameo@linux.intel.com>
Wed, 2 Feb 2011 17:45:37 +0000 (18:45 +0100)
gsupplicant/gsupplicant.h
gsupplicant/supplicant.c
plugins/wifi.c

index dca5c2b..6227ff5 100644 (file)
@@ -142,6 +142,7 @@ typedef void (*GSupplicantInterfaceCallback) (int result,
                                                        void *user_data);
 
 int g_supplicant_interface_create(const char *ifname, const char *driver,
+                                       const char *bridge,
                                        GSupplicantInterfaceCallback callback,
                                                        void *user_data);
 int g_supplicant_interface_remove(GSupplicantInterface *interface,
index 0bd58b9..55c842f 100644 (file)
@@ -2057,6 +2057,7 @@ struct interface_data {
 struct interface_create_data {
        const char *ifname;
        const char *driver;
+       const char *bridge;
        GSupplicantInterface *interface;
        GSupplicantInterfaceCallback callback;
        void *user_data;
@@ -2149,6 +2150,10 @@ static void interface_create_params(DBusMessageIter *iter, void *user_data)
                supplicant_dbus_dict_append_basic(&dict, "Driver",
                                        DBUS_TYPE_STRING, &data->driver);
 
+       if (data->bridge != NULL)
+               supplicant_dbus_dict_append_basic(&dict, "BridgeIfname",
+                                       DBUS_TYPE_STRING, &data->bridge);
+
        supplicant_dbus_dict_close(iter, &dict);
 }
 
@@ -2220,6 +2225,7 @@ static void interface_get_params(DBusMessageIter *iter, void *user_data)
 }
 
 int g_supplicant_interface_create(const char *ifname, const char *driver,
+                                       const char *bridge,
                                        GSupplicantInterfaceCallback callback,
                                                        void *user_data)
 {
@@ -2239,6 +2245,7 @@ int g_supplicant_interface_create(const char *ifname, const char *driver,
 
        data->ifname = ifname;
        data->driver = driver;
+       data->bridge = bridge;
        data->callback = callback;
        data->user_data = user_data;
 
index 78f13fb..b7055c3 100644 (file)
@@ -231,7 +231,7 @@ static int wifi_enable(struct connman_device *device)
 
        DBG("device %p %p", device, wifi);
 
-       return g_supplicant_interface_create(interface, driver,
+       return g_supplicant_interface_create(interface, driver, NULL,
                                                interface_create_callback,
                                                        wifi);
 }