Fix TC crash.
[platform/framework/native/telephony.git] / src / FTel_TelephonyIpcProxy.cpp
index 9af93b5..68104ab 100644 (file)
@@ -41,8 +41,12 @@ _TelephonyIpcProxy* _TelephonyIpcProxy::__pInstance = null;
 
 _TelephonyIpcProxy::_TelephonyIpcProxy(void)
        : __pIpcClient(null)
-    , __pNetworkManagerImpl(null)
-    , __pCallManagerImpl(null)
+    , __pNetworkManagerImplForGet(null)
+       , __pNetworkManagerImplForSelect(null)
+       , __pNetworkManagerImplForSearch(null)
+    , __pCallManagerImplForGet(null)
+       , __pCallManagerImplForStart(null)
+       , __pCallManagerImplForStop(null)
 {
 }
 
@@ -139,7 +143,7 @@ _TelephonyIpcProxy::HasSystemPrivilege(void)
 }
 
 result
-_TelephonyIpcProxy::GetNetworkSelectionMode(void)
+_TelephonyIpcProxy::GetNetworkSelectionMode(_NetworkManagerImpl* pNetworkManagerImpl)
 {
     result r = E_SUCCESS;
     unsigned long ret = 0;
@@ -151,11 +155,13 @@ _TelephonyIpcProxy::GetNetworkSelectionMode(void)
     SysTryReturnResult(NID_TEL, r == E_SUCCESS, E_SYSTEM, "A system error has been occurred. Failed to send a request.");
     SysTryReturnResult(NID_TEL, ret == E_SUCCESS, ret, "Propagating.");
 
+    __pNetworkManagerImplForGet = pNetworkManagerImpl;
+
     return E_SUCCESS;
 }
 
 result
-_TelephonyIpcProxy::SelectNetwork(const Tizen::Base::String& plmn, const int netwokrType)
+_TelephonyIpcProxy::SelectNetwork(_NetworkManagerImpl* pNetworkManagerImpl, const Tizen::Base::String& plmn, const int netwokrType)
 {
     result r = E_SUCCESS;
     unsigned long ret = 0;
@@ -167,11 +173,13 @@ _TelephonyIpcProxy::SelectNetwork(const Tizen::Base::String& plmn, const int net
     SysTryReturnResult(NID_TEL, r == E_SUCCESS, E_SYSTEM, "A system error has been occurred. Failed to send a request.");
     SysTryReturnResult(NID_TEL, ret == E_SUCCESS, ret, "Propagating.");
 
+    __pNetworkManagerImplForSelect = pNetworkManagerImpl;
+
     return E_SUCCESS;
 }
 
 result
-_TelephonyIpcProxy::SelectNetwork(void)
+_TelephonyIpcProxy::SelectNetwork(_NetworkManagerImpl* pNetworkManagerImpl)
 {
     result r = E_SUCCESS;
     unsigned long ret = 0;
@@ -183,12 +191,14 @@ _TelephonyIpcProxy::SelectNetwork(void)
     SysTryReturnResult(NID_TEL, r == E_SUCCESS, E_SYSTEM, "A system error has been occurred. Failed to send a request.");
     SysTryReturnResult(NID_TEL, ret == E_SUCCESS, ret, "Propagating.");
 
+    __pNetworkManagerImplForSelect = pNetworkManagerImpl;
+
     return E_SUCCESS;
 
 }
 
 result
-_TelephonyIpcProxy::SearchNetwork(void)
+_TelephonyIpcProxy::SearchNetwork(_NetworkManagerImpl* pNetworkManagerImpl)
 {
     result r = E_SUCCESS;
     unsigned long ret = 0;
@@ -200,6 +210,8 @@ _TelephonyIpcProxy::SearchNetwork(void)
     SysTryReturnResult(NID_TEL, r == E_SUCCESS, E_SYSTEM, "A system error has been occurred. Failed to send a request.");
     SysTryReturnResult(NID_TEL, ret == E_SUCCESS, ret, "Propagating.");
 
+    __pNetworkManagerImplForSearch = pNetworkManagerImpl;
+
     return E_SUCCESS;
 }
 
@@ -221,7 +233,7 @@ _TelephonyIpcProxy::HasCallForwardPrivilege(void)
 }
 
 result
-_TelephonyIpcProxy::RequestCallForward(const String& phoneNumber)
+_TelephonyIpcProxy::RequestCallForward(_CallManagerImpl* pCallManagerImpl, const String& phoneNumber)
 {
     result r = E_SUCCESS;
     unsigned long ret = 0;
@@ -233,11 +245,13 @@ _TelephonyIpcProxy::RequestCallForward(const String& phoneNumber)
     SysTryReturnResult(NID_TEL, r == E_SUCCESS, E_SYSTEM, "A system error has been occurred. Failed to send a request.");
     SysTryReturnResult(NID_TEL, ret == E_SUCCESS, ret, "Propagating.");
 
+    __pCallManagerImplForStart = pCallManagerImpl;
+
     return E_SUCCESS;
 }
 
 result
-_TelephonyIpcProxy::StopCallForward(void)
+_TelephonyIpcProxy::StopCallForward(_CallManagerImpl* pCallManagerImpl)
 {
     result r = E_SUCCESS;
     unsigned long ret = 0;
@@ -249,11 +263,13 @@ _TelephonyIpcProxy::StopCallForward(void)
     SysTryReturnResult(NID_TEL, r == E_SUCCESS, E_SYSTEM, "A system error has been occurred. Failed to send a request.");
     SysTryReturnResult(NID_TEL, ret == E_SUCCESS, ret, "Propagating.");
 
+    __pCallManagerImplForStop = pCallManagerImpl;
+
     return E_SUCCESS;
 }
 
 result
-_TelephonyIpcProxy::GetCallForwardNumber(void)
+_TelephonyIpcProxy::GetCallForwardNumber(_CallManagerImpl* pCallManagerImpl)
 {
     result r = E_SUCCESS;
     unsigned long ret = 0;
@@ -265,19 +281,9 @@ _TelephonyIpcProxy::GetCallForwardNumber(void)
     SysTryReturnResult(NID_TEL, r == E_SUCCESS, E_SYSTEM, "A system error has been occurred. Failed to send a request.");
     SysTryReturnResult(NID_TEL, ret == E_SUCCESS, ret, "Propagating.");
 
-    return E_SUCCESS;
-}
+    __pCallManagerImplForGet = pCallManagerImpl;
 
-void
-_TelephonyIpcProxy::SetNetworkManagerImpl(_NetworkManagerImpl& impl)
-{
-    __pNetworkManagerImpl = &impl;
-}
-
-void
-_TelephonyIpcProxy::SetCallManagerImpl(_CallManagerImpl& impl)
-{
-    __pCallManagerImpl = &impl;
+    return E_SUCCESS;
 }
 
 void
@@ -302,7 +308,7 @@ _TelephonyIpcProxy::OnNetworkSelectionModeReceived(bool isManual, unsigned long
 
     SysAssertf(__pIpcClient != null, "Not yet constructed. Construct() should be called before use.");
 
-    __pNetworkManagerImpl->OnTelephonyNetworkSelectionModeReceived(isManual, res);
+    __pNetworkManagerImplForGet->OnTelephonyNetworkSelectionModeReceived(isManual, res);
 }
 
 void
@@ -312,7 +318,7 @@ _TelephonyIpcProxy::OnNetworkSelectionCompleted(unsigned long res)
 
     SysAssertf(__pIpcClient != null, "Not yet constructed. Construct() should be called before use.");
 
-    __pNetworkManagerImpl->OnTelephonyNetworkSelectionCompleted(res);
+    __pNetworkManagerImplForSelect->OnTelephonyNetworkSelectionCompleted(res);
 }
 
 void
@@ -322,7 +328,7 @@ _TelephonyIpcProxy::OnNetworkSearchCompleted(Tizen::Base::String message, unsign
 
     SysAssertf(__pIpcClient != null, "Not yet constructed. Construct() should be called before use.");
 
-    __pNetworkManagerImpl->OnTelephonyNetworkSearchCompleted(message, res);
+    __pNetworkManagerImplForSearch->OnTelephonyNetworkSearchCompleted(message, res);
 }
 
 void
@@ -332,7 +338,7 @@ _TelephonyIpcProxy::OnTelephonyCallForwardNumberReceived(Tizen::Base::String pho
 
     SysAssertf(__pIpcClient != null, "Not yet constructed. Construct() should be called before use.");
 
-    __pCallManagerImpl->OnTelephonyCallForwardNumberReceived(phoneNumber, res);
+    __pCallManagerImplForGet->OnTelephonyCallForwardNumberReceived(phoneNumber, res);
 }
 
 void
@@ -342,7 +348,7 @@ _TelephonyIpcProxy::OnTelephonyCallForwardResponseReceived(Tizen::Base::String p
 
     SysAssertf(__pIpcClient != null, "Not yet constructed. Construct() should be called before use.");
 
-    __pCallManagerImpl->OnTelephonyCallForwardResponseReceived(phoneNumber, res);
+    __pCallManagerImplForStart->OnTelephonyCallForwardResponseReceived(phoneNumber, res);
 }
 
 void
@@ -352,7 +358,7 @@ _TelephonyIpcProxy::OnTelephonyCallForwardStopped(Tizen::Base::String phoneNumbe
 
     SysAssertf(__pIpcClient != null, "Not yet constructed. Construct() should be called before use.");
 
-    __pCallManagerImpl->OnTelephonyCallForwardStopped(phoneNumber, res);
+    __pCallManagerImplForStop->OnTelephonyCallForwardStopped(phoneNumber, res);
 }
 
 }} // Tizen::Telephony