From f34df4fc4ffe416372f2c282fa55a0888666f2d0 Mon Sep 17 00:00:00 2001 From: Joohyun Kim Date: Sat, 13 Jul 2013 13:43:21 +0900 Subject: [PATCH] Fix tethering failure Change-Id: I3051b6c978e0bb6d25e1087ec33845329b2e8be8 Signed-off-by: Joohyun Kim --- .../providers/FSys_SettingNetworkProvider.cpp | 149 ++++++++++++--------- 1 file changed, 84 insertions(+), 65 deletions(-) diff --git a/src/system-server/setting/providers/FSys_SettingNetworkProvider.cpp b/src/system-server/setting/providers/FSys_SettingNetworkProvider.cpp index f67b131..423a48b 100644 --- a/src/system-server/setting/providers/FSys_SettingNetworkProvider.cpp +++ b/src/system-server/setting/providers/FSys_SettingNetworkProvider.cpp @@ -85,6 +85,7 @@ _SettingNetworkProvider::_SettingNetworkProvider() : __tapiHandle(null) , __pWifiDllHandle(null) , __pBluetoothDllHandle(null) + , __tetheringHandle(null) , __stateOfFlightMode(0) , __stateOfWifi(0) , __stateOfWifiDirect(0) @@ -134,41 +135,43 @@ _SettingNetworkProvider::_SettingNetworkProvider() { SysLogException(NID_SYS, E_SYSTEM, "It is failed to create tethering handle"); } - - errorCode = tethering_set_enabled_cb(__tetheringHandle, TETHERING_TYPE_USB, SettingEventTetheringEnabled, null); - if(errorCode != 0) + else { - SysLogException(NID_SYS, E_SYSTEM, "It is failed to register TETHERING_TYPE_USB listener"); - } + errorCode = tethering_set_enabled_cb(__tetheringHandle, TETHERING_TYPE_USB, SettingEventTetheringEnabled, null); + if(errorCode != 0) + { + SysLogException(NID_SYS, E_SYSTEM, "It is failed to register TETHERING_TYPE_USB listener"); + } - errorCode = tethering_set_enabled_cb(__tetheringHandle, TETHERING_TYPE_WIFI, SettingEventTetheringEnabled, null); - if(errorCode != 0) - { - SysLogException(NID_SYS, E_SYSTEM, "It is failed to register TETHERING_TYPE_WIFI listener"); - } + errorCode = tethering_set_enabled_cb(__tetheringHandle, TETHERING_TYPE_WIFI, SettingEventTetheringEnabled, null); + if(errorCode != 0) + { + SysLogException(NID_SYS, E_SYSTEM, "It is failed to register TETHERING_TYPE_WIFI listener"); + } - errorCode = tethering_set_enabled_cb(__tetheringHandle, TETHERING_TYPE_BT, SettingEventTetheringEnabled, null); - if(errorCode != 0) - { - SysLogException(NID_SYS, E_SYSTEM, "It is failed to register TETHERING_TYPE_BT listener"); - } + errorCode = tethering_set_enabled_cb(__tetheringHandle, TETHERING_TYPE_BT, SettingEventTetheringEnabled, null); + if(errorCode != 0) + { + SysLogException(NID_SYS, E_SYSTEM, "It is failed to register TETHERING_TYPE_BT listener"); + } - errorCode = tethering_set_disabled_cb(__tetheringHandle, TETHERING_TYPE_USB, SettingEventTetheringDisabled, null); - if(errorCode != 0) - { - SysLogException(NID_SYS, E_SYSTEM, "It is failed to register TETHERING_TYPE_USB listener"); - } + errorCode = tethering_set_disabled_cb(__tetheringHandle, TETHERING_TYPE_USB, SettingEventTetheringDisabled, null); + if(errorCode != 0) + { + SysLogException(NID_SYS, E_SYSTEM, "It is failed to register TETHERING_TYPE_USB listener"); + } - errorCode = tethering_set_disabled_cb(__tetheringHandle, TETHERING_TYPE_WIFI, SettingEventTetheringDisabled, null); - if(errorCode != 0) - { - SysLogException(NID_SYS, E_SYSTEM, "It is failed to register TETHERING_TYPE_WIFI listener"); - } + errorCode = tethering_set_disabled_cb(__tetheringHandle, TETHERING_TYPE_WIFI, SettingEventTetheringDisabled, null); + if(errorCode != 0) + { + SysLogException(NID_SYS, E_SYSTEM, "It is failed to register TETHERING_TYPE_WIFI listener"); + } - errorCode = tethering_set_disabled_cb(__tetheringHandle, TETHERING_TYPE_BT, SettingEventTetheringDisabled, null); - if(errorCode != 0) - { - SysLogException(NID_SYS, E_SYSTEM, "It is failed to register TETHERING_TYPE_BT listener"); + errorCode = tethering_set_disabled_cb(__tetheringHandle, TETHERING_TYPE_BT, SettingEventTetheringDisabled, null); + if(errorCode != 0) + { + SysLogException(NID_SYS, E_SYSTEM, "It is failed to register TETHERING_TYPE_BT listener"); + } } errorCode = vconf_notify_key_changed(VCONFKEY_WIFI_DIRECT_STATE, SettingEventVConf, null); @@ -243,44 +246,47 @@ _SettingNetworkProvider::~_SettingNetworkProvider() SysLogException(NID_SYS, E_SYSTEM, "It is failed to unregister VCONFKEY_WIFI_STATE listener"); } - errorCode = tethering_unset_enabled_cb(__tetheringHandle, TETHERING_TYPE_USB); - if(errorCode != 0) + if(__tetheringHandle != null) { - SysLogException(NID_SYS, E_SYSTEM, "It is failed to unregister TETHERING_TYPE_USB listener"); - } + errorCode = tethering_unset_enabled_cb(__tetheringHandle, TETHERING_TYPE_USB); + if(errorCode != 0) + { + SysLogException(NID_SYS, E_SYSTEM, "It is failed to unregister TETHERING_TYPE_USB listener"); + } - errorCode = tethering_unset_enabled_cb(__tetheringHandle, TETHERING_TYPE_WIFI); - if(errorCode != 0) - { - SysLogException(NID_SYS, E_SYSTEM, "It is failed to unregister TETHERING_TYPE_WIFI listener"); - } + errorCode = tethering_unset_enabled_cb(__tetheringHandle, TETHERING_TYPE_WIFI); + if(errorCode != 0) + { + SysLogException(NID_SYS, E_SYSTEM, "It is failed to unregister TETHERING_TYPE_WIFI listener"); + } - errorCode = tethering_unset_enabled_cb(__tetheringHandle, TETHERING_TYPE_BT); - if(errorCode != 0) - { - SysLogException(NID_SYS, E_SYSTEM, "It is failed to unregister TETHERING_TYPE_BT listener"); - } + errorCode = tethering_unset_enabled_cb(__tetheringHandle, TETHERING_TYPE_BT); + if(errorCode != 0) + { + SysLogException(NID_SYS, E_SYSTEM, "It is failed to unregister TETHERING_TYPE_BT listener"); + } - errorCode = tethering_unset_disabled_cb(__tetheringHandle, TETHERING_TYPE_USB); - if(errorCode != 0) - { - SysLogException(NID_SYS, E_SYSTEM, "It is failed to unregister TETHERING_TYPE_USB listener"); - } + errorCode = tethering_unset_disabled_cb(__tetheringHandle, TETHERING_TYPE_USB); + if(errorCode != 0) + { + SysLogException(NID_SYS, E_SYSTEM, "It is failed to unregister TETHERING_TYPE_USB listener"); + } - errorCode = tethering_unset_disabled_cb(__tetheringHandle, TETHERING_TYPE_WIFI); - if(errorCode != 0) - { - SysLogException(NID_SYS, E_SYSTEM, "It is failed to unregister TETHERING_TYPE_WIFI listener"); - } + errorCode = tethering_unset_disabled_cb(__tetheringHandle, TETHERING_TYPE_WIFI); + if(errorCode != 0) + { + SysLogException(NID_SYS, E_SYSTEM, "It is failed to unregister TETHERING_TYPE_WIFI listener"); + } - errorCode = tethering_unset_disabled_cb(__tetheringHandle, TETHERING_TYPE_BT); - if(errorCode != 0) - { - SysLogException(NID_SYS, E_SYSTEM, "It is failed to unregister TETHERING_TYPE_BT listener"); - } + errorCode = tethering_unset_disabled_cb(__tetheringHandle, TETHERING_TYPE_BT); + if(errorCode != 0) + { + SysLogException(NID_SYS, E_SYSTEM, "It is failed to unregister TETHERING_TYPE_BT listener"); + } - tethering_destroy(__tetheringHandle); - __tetheringHandle = null; + tethering_destroy(__tetheringHandle); + __tetheringHandle = null; + } errorCode = vconf_ignore_key_changed(VCONFKEY_WIFI_DIRECT_STATE, SettingEventVConf); if(errorCode != 0) @@ -418,18 +424,24 @@ _SettingNetworkProvider::GetValue(const String& key, bool& value) { r = E_SUCCESS; SysTryReturnResult(NID_SYS, HasKey(key) == true, E_UNSUPPORTED_OPERATION, "Current device does not support Wi-Fi tethering feature."); + SysTryReturnResult(NID_SYS, __tetheringHandle != null, E_SYSTEM, "It is failed to get tethering handle."); + value = tethering_is_enabled(__tetheringHandle, TETHERING_TYPE_WIFI); } else if (key == _NETWORK_WIFI_TETHERING_HIDE) { r = E_SUCCESS; SysTryReturnResult(NID_SYS, HasKey(key) == true, E_UNSUPPORTED_OPERATION, "Current device does not support Wi-Fi tethering feature."); + SysTryReturnResult(NID_SYS, __tetheringHandle != null, E_SYSTEM, "It is failed to get tethering handle."); + errorCode = tethering_wifi_get_ssid_visibility(__tetheringHandle, &value); SysTryReturnResult(NID_SYS, errorCode == TETHERING_ERROR_NONE, E_SYSTEM, "It is failed to get wifi tethering visibility state"); } else if (key == _NETWORK_WIFI_TETHERING_SECURITY) { SysTryReturnResult(NID_SYS, HasKey(key) == true, E_UNSUPPORTED_OPERATION, "Current device does not support Wi-Fi tethering feature."); + SysTryReturnResult(NID_SYS, __tetheringHandle != null, E_SYSTEM, "It is failed to get tethering handle."); + r = E_SUCCESS; tethering_wifi_security_type_e securityType; errorCode = tethering_wifi_get_security_type(__tetheringHandle, &securityType); @@ -447,6 +459,8 @@ _SettingNetworkProvider::GetValue(const String& key, bool& value) { r = E_SUCCESS; SysTryReturnResult(NID_SYS, HasKey(key) == true, E_UNSUPPORTED_OPERATION, "Current device does not support USB tethering feature."); + SysTryReturnResult(NID_SYS, __tetheringHandle != null, E_SYSTEM, "It is failed to get tethering handle."); + value = tethering_is_enabled(__tetheringHandle, TETHERING_TYPE_USB); } else if (key == _NETWORK_WIFI_DIRECT) @@ -487,6 +501,8 @@ _SettingNetworkProvider::GetValue(const String& key, bool& value) else if (key == _NETWORK_BLUETOOTH_TETHERING) { SysTryReturnResult(NID_SYS, HasKey(key) == true, E_UNSUPPORTED_OPERATION, "Current device does not support Bluetooth tethering feature."); + SysTryReturnResult(NID_SYS, __tetheringHandle != null, E_SYSTEM, "It is failed to get tethering handle."); + r = E_SUCCESS; value = tethering_is_enabled(__tetheringHandle, TETHERING_TYPE_BT); } @@ -522,7 +538,8 @@ _SettingNetworkProvider::SetValue(const String& key, const bool value) bool state = false; r = E_SUCCESS; SysTryReturnResult(NID_SYS, HasKey(key) == true, E_UNSUPPORTED_OPERATION, "Current device does not support Wi-Fi feature."); - SysTryReturnResult(NID_SYS, __tetheringHandle != null, E_UNSUPPORTED_OPERATION, "Current device does not support tethering feature."); + SysTryReturnResult(NID_SYS, __tetheringHandle != null, E_SYSTEM, "It is failed to get tethering handle."); + r = GetValue(_NETWORK_WIFI, state); SysTryReturnResult(NID_SYS, r == E_SUCCESS, E_SYSTEM, "It is failed to get the WIFI state"); SysTryReturnResult(NID_SYS, state == true, E_INVALID_STATE, "WIFI is not activated"); @@ -541,9 +558,9 @@ _SettingNetworkProvider::SetValue(const String& key, const bool value) { r = E_SUCCESS; SysTryReturnResult(NID_SYS, HasKey(key) == true, E_UNSUPPORTED_OPERATION, "Current device does not support Wi-Fi feature."); + SysTryReturnResult(NID_SYS, __tetheringHandle != null, E_SYSTEM, "It is failed to get tethering handle."); bool currentState = false; - SysTryReturnResult(NID_SYS, __tetheringHandle != null, E_UNSUPPORTED_OPERATION, "Current device does not support tethering feature."); errorCode = tethering_wifi_get_ssid_visibility(__tetheringHandle, ¤tState); SysTryReturnResult(NID_SYS, errorCode == TETHERING_ERROR_NONE, E_SYSTEM, "It is failed to current wifi tethering visibility setting"); @@ -561,9 +578,9 @@ _SettingNetworkProvider::SetValue(const String& key, const bool value) { r = E_SUCCESS; SysTryReturnResult(NID_SYS, HasKey(key) == true, E_UNSUPPORTED_OPERATION, "Current device does not support Wi-Fi feature."); + SysTryReturnResult(NID_SYS, __tetheringHandle != null, E_SYSTEM, "It is failed to get tethering handle."); tethering_wifi_security_type_e securityType; - SysTryReturnResult(NID_SYS, __tetheringHandle != null, E_UNSUPPORTED_OPERATION, "Current device does not support tethering feature."); errorCode = tethering_wifi_get_security_type(__tetheringHandle, &securityType); SysTryReturnResult(NID_SYS, errorCode == TETHERING_ERROR_NONE, E_SYSTEM, "It is failed to get wifi tethering securiy state"); @@ -582,6 +599,7 @@ _SettingNetworkProvider::SetValue(const String& key, const bool value) { r = E_SUCCESS; SysTryReturnResult(NID_SYS, HasKey(key) == true, E_UNSUPPORTED_OPERATION, "Current device does not support tethering feature."); + SysTryReturnResult(NID_SYS, __tetheringHandle != null, E_SYSTEM, "It is failed to get tethering handle."); if(value == true) { @@ -597,6 +615,7 @@ _SettingNetworkProvider::SetValue(const String& key, const bool value) { r = E_SUCCESS; SysTryReturnResult(NID_SYS, HasKey(key) == true, E_UNSUPPORTED_OPERATION, "Current device does not support tethering feature."); + SysTryReturnResult(NID_SYS, __tetheringHandle != null, E_SYSTEM, "It is failed to get tethering handle."); bool state = false; r = GetValue(_NETWORK_BLUETOOTH, state); @@ -988,8 +1007,8 @@ _SettingNetworkProvider::GetValue(const String& key, String& value) unique_ptr password(null); char* pTemp = null; SysTryReturnResult(NID_SYS, HasKey(key) == true, E_UNSUPPORTED_OPERATION, "Current device does not support Wi-Fi tethering feature."); + SysTryReturnResult(NID_SYS, __tetheringHandle != null, E_SYSTEM, "It is failed to get tethering handle."); - SysTryReturnResult(NID_SYS, __tetheringHandle != null, E_UNSUPPORTED_OPERATION, "Current device does not support tethering feature."); errorCode = tethering_wifi_get_passphrase(__tetheringHandle, &pTemp); SysTryReturnResult(NID_SYS, errorCode == TETHERING_ERROR_NONE && pTemp != null, E_SYSTEM, "It is failed to get password"); @@ -1011,8 +1030,8 @@ _SettingNetworkProvider::SetValue(const String& key, const String value) { r = E_SUCCESS; SysTryReturnResult(NID_SYS, HasKey(key) == true, E_UNSUPPORTED_OPERATION, "Current device does not support Wi-Fi tethering feature."); + SysTryReturnResult(NID_SYS, __tetheringHandle != null, E_SYSTEM, "It is failed to get tethering handle."); - SysTryReturnResult(NID_SYS, __tetheringHandle != null, E_UNSUPPORTED_OPERATION, "Current device does not support tethering feature."); unique_ptr password(_StringConverter::CopyToCharArrayN(value)); SysTryReturnResult(NID_SYS, password != null, E_SYSTEM, "It is failed to convert String to string"); errorCode = tethering_wifi_set_passphrase(__tetheringHandle, password.get()); -- 2.7.4