Enable IPv6 tethering for USB 40/180840/1 accepted/tizen/unified/20180612.044147 submit/tizen/20180611.081404
authorSeonah Moon <seonah1.moon@samsung.com>
Mon, 19 Feb 2018 10:43:14 +0000 (19:43 +0900)
committerchleun.moon <chleun.moon@samsung.com>
Mon, 4 Jun 2018 23:58:37 +0000 (08:58 +0900)
Change-Id: Ib6c61fc9332bd5ea1c6b6bc51a14af292d480621

src/tethering.c

index 0d7fe50..9afcb84 100755 (executable)
@@ -1584,7 +1584,8 @@ API int tethering_enable(tethering_h tethering, tethering_type_e type)
                g_dbus_connection_signal_unsubscribe(connection,
                                sigs[E_SIGNAL_USB_TETHER_ON].sig_id);
 
-               g_dbus_proxy_call(proxy, "enable_usb_tethering", NULL,
+               g_dbus_proxy_call(proxy, "enable_usb_tethering",
+                               g_variant_new("(i)", TETHERING_ADDRESS_FAMILY_IPV4),
                                G_DBUS_CALL_FLAGS_NONE, -1, th->cancellable,
                                (GAsyncReadyCallback) __usb_enabled_cfm_cb, (gpointer)tethering);
                break;
@@ -1652,7 +1653,8 @@ API int tethering_enable(tethering_h tethering, tethering_type_e type)
                g_dbus_connection_signal_unsubscribe(connection,
                                sigs[E_SIGNAL_USB_TETHER_ON].sig_id);
 
-               g_dbus_proxy_call(proxy, "enable_usb_tethering", NULL,
+               g_dbus_proxy_call(proxy, "enable_usb_tethering",
+                               g_variant_new("(i)", TETHERING_ADDRESS_FAMILY_IPV4),
                                G_DBUS_CALL_FLAGS_NONE, -1, th->cancellable,
                                (GAsyncReadyCallback) __usb_enabled_cfm_cb, (gpointer)tethering);
 
@@ -1718,6 +1720,17 @@ API int tethering_ipv6_enable(tethering_h tethering, tethering_type_e type)
        }
 
        switch (type) {
+       case TETHERING_TYPE_USB: {
+               g_dbus_connection_signal_unsubscribe(connection,
+                               sigs[E_SIGNAL_USB_TETHER_ON].sig_id);
+
+               g_dbus_proxy_call(proxy, "enable_usb_tethering",
+                               g_variant_new("(i)", TETHERING_ADDRESS_FAMILY_IPV6),
+                               G_DBUS_CALL_FLAGS_NONE, -1, th->cancellable,
+                               (GAsyncReadyCallback) __usb_enabled_cfm_cb, (gpointer)tethering);
+               break;
+       }
+
        case TETHERING_TYPE_WIFI: {
                _softap_settings_t set = {"", "", "", 0, false, false, 0, 0};
 
@@ -1735,12 +1748,13 @@ API int tethering_ipv6_enable(tethering_h tethering, tethering_type_e type)
                                (GAsyncReadyCallback) __wifi_enabled_cfm_cb, (gpointer)tethering);
                break;
         }
+
        case TETHERING_TYPE_BT: {
                g_dbus_connection_signal_unsubscribe(connection,
                                sigs[E_SIGNAL_BT_TETHER_ON].sig_id);
 
-               /* For TEST */
-               g_dbus_proxy_call(proxy, "enable_bt_tethering", g_variant_new("(i)", TETHERING_ADDRESS_FAMILY_IPV6),
+               g_dbus_proxy_call(proxy, "enable_bt_tethering",
+                               g_variant_new("(i)", TETHERING_ADDRESS_FAMILY_IPV6),
                                G_DBUS_CALL_FLAGS_NONE, -1, th->cancellable,
                                (GAsyncReadyCallback) __bt_enabled_cfm_cb, (gpointer)tethering);
 
@@ -1778,6 +1792,16 @@ API int tethering_ipv6_disable(tethering_h tethering, tethering_type_e type)
        GDBusConnection *connection = th->client_bus;
 
        switch (type) {
+       case TETHERING_TYPE_USB:
+               g_dbus_connection_signal_unsubscribe(connection,
+                               sigs[E_SIGNAL_USB_TETHER_OFF].sig_id);
+
+               g_dbus_proxy_call(proxy, "disable_usb_tethering",
+                               g_variant_new("(i)", TETHERING_ADDRESS_FAMILY_IPV6),
+                               G_DBUS_CALL_FLAGS_NONE, -1, th->cancellable,
+                               (GAsyncReadyCallback) __disabled_cfm_cb, (gpointer)tethering);
+               break;
+
        case TETHERING_TYPE_WIFI:
                DBG("Disable wifi tethering..");
                g_dbus_connection_signal_unsubscribe(connection,
@@ -1788,6 +1812,7 @@ API int tethering_ipv6_disable(tethering_h tethering, tethering_type_e type)
                                G_DBUS_CALL_FLAGS_NONE, -1, th->cancellable,
                                (GAsyncReadyCallback) __disabled_cfm_cb, (gpointer)tethering);
                break;
+
        case TETHERING_TYPE_BT:
                g_dbus_connection_signal_unsubscribe(connection,
                                sigs[E_SIGNAL_BT_TETHER_OFF].sig_id);
@@ -1843,7 +1868,8 @@ API int tethering_disable(tethering_h tethering, tethering_type_e type)
                                sigs[E_SIGNAL_USB_TETHER_OFF].sig_id);
 
                g_dbus_proxy_call(proxy, "disable_usb_tethering",
-                               NULL, G_DBUS_CALL_FLAGS_NONE, -1, th->cancellable,
+                               g_variant_new("(i)", TETHERING_ADDRESS_FAMILY_IPV4),
+                               G_DBUS_CALL_FLAGS_NONE, -1, th->cancellable,
                                (GAsyncReadyCallback) __disabled_cfm_cb, (gpointer)tethering);
 
                break;
@@ -1883,7 +1909,8 @@ API int tethering_disable(tethering_h tethering, tethering_type_e type)
                                sigs[E_SIGNAL_USB_TETHER_OFF].sig_id);
 
                g_dbus_proxy_call(proxy, "disable_usb_tethering",
-                               NULL, G_DBUS_CALL_FLAGS_NONE, -1, th->cancellable,
+                               g_variant_new("(i)", TETHERING_ADDRESS_FAMILY_IPV4),
+                               G_DBUS_CALL_FLAGS_NONE, -1, th->cancellable,
                                (GAsyncReadyCallback) __disabled_cfm_cb, (gpointer)tethering);
 
                g_dbus_connection_signal_unsubscribe(connection,