if (pListener != null)
{
+ unique_ptr<_NetworkManagerEvent> pNetworkManagerEvent(new (std::nothrow) _NetworkManagerEvent);
+ SysTryReturnResult(NID_TEL, pNetworkManagerEvent != null, E_OUT_OF_MEMORY, "Memory allocation failed.");
+
+ result r = pNetworkManagerEvent->Construct();
+ SysTryReturnResult(NID_TEL, r != E_OUT_OF_MEMORY, r, "Propagating.");
+ SysTryReturnResult(NID_TEL, r == E_SUCCESS, E_SYSTEM, "A system error has occurred. Failed to construct of the _NetworkManagerEvent.");
+
// Register data service state changed event
err = connection_set_type_changed_cb(pConnectionHandle.get(),(connection_type_changed_cb)_NetworkManagerImpl::OnDataServiceStateChangedCallback, this);
SysLog(NID_TEL, "The return value of connection_set_type_changed_cb() is 0x%x", err);
- SysTryReturnResult(NID_TEL, err == 0, E_SYSTEM, "A system error has occurred. Failed to register the callback function to received the data service state changed event.");
+ SysTryReturnResult(NID_TEL, err == CONNECTION_ERROR_NONE, E_SYSTEM, "A system error has occurred. Failed to register the callback function to received the data service state changed event.");
// Register call service state changed event
err = network_info_set_service_state_changed_cb((network_info_service_state_changed_cb) _NetworkManagerImpl::OnCallServiceStateChangedCallback, this);
SysLog(NID_TEL, "The return value of network_info_set_service_state_changed_cb() is 0x%x", err);
- SysTryReturnResult(NID_TEL, err == NETWORK_INFO_ERROR_NONE, E_SYSTEM,
- "A system error has occurred. Failed to register the callback function to received the call service state changed event.");
+ if (err != NETWORK_INFO_ERROR_NONE)
+ {
+ SysLogException(NID_TEL, E_SYSTEM, "[E_SYSTEM] A system error has occurred. Failed to register the callback function to received the call service state changed event.");
+ connection_unset_type_changed_cb(pConnectionHandle.get());
+
+ return E_SYSTEM;
+ }
// Register roaming state changed event
err = network_info_set_roaming_state_changed_cb((network_info_roaming_state_changed_cb)_NetworkManagerImpl::OnRoamingStateChangedCallback, this);
SysLog(NID_TEL, "The return value of network_info_set_roaming_state_changed_cb() is 0x%x", err);
- SysTryReturnResult(NID_TEL, err == NETWORK_INFO_ERROR_NONE, E_SYSTEM,
- "A system error has occurred. Failed to register the callback function to received the roaming state changed event.");
-
- unique_ptr<_NetworkManagerEvent> pNetworkManagerEvent(new (std::nothrow) _NetworkManagerEvent);
- SysTryReturnResult(NID_TEL, pNetworkManagerEvent != null, E_OUT_OF_MEMORY, "Memory allocation failed.");
-
- result r = pNetworkManagerEvent->Construct();
- SysTryReturnResult(NID_TEL, r != E_OUT_OF_MEMORY, r, "Propagating.");
- SysTryReturnResult(NID_TEL, r == E_SUCCESS, E_SYSTEM, "A system error has occurred. Failed to construct of the _NetworkManagerEvent.");
+ if (err != NETWORK_INFO_ERROR_NONE)
+ {
+ SysLogException(NID_TEL, E_SYSTEM, "[E_SYSTEM] A system error has occurred. Failed to register the callback function to received the roaming state changed event.");
+ connection_unset_type_changed_cb(pConnectionHandle.get());
+ network_info_unset_service_state_changed_cb();
+
+ return E_SYSTEM;
+ }
pNetworkManagerEvent->AddListener(*pListener, true);