From e1aef6ae3680f33313d2c752fbc692214d577847 Mon Sep 17 00:00:00 2001 From: Byounghui Date: Thu, 18 Apr 2013 15:21:03 +0900 Subject: [PATCH] unsuppported exception add. Change-Id: I8243379621ca3679b04039a793a9a7de9411cf5d Signed-off-by: Byounghui --- src/FMsgMmsManager.cpp | 6 +++++ src/FMsgSmsManager.cpp | 63 ++++++++++++++++++++++++++++++++++++++-------- src/FMsgWapPushManager.cpp | 25 +++++++++++++++--- 3 files changed, 79 insertions(+), 15 deletions(-) diff --git a/src/FMsgMmsManager.cpp b/src/FMsgMmsManager.cpp index ed34bfa..115812e 100755 --- a/src/FMsgMmsManager.cpp +++ b/src/FMsgMmsManager.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include "FMsg_Types.h" #include "FMsg_MmsEvent.h" #include "FMsg_MsgUtil.h" @@ -63,8 +64,13 @@ MmsManager::Construct(IMmsListener& listener) { // method return code result r = E_SUCCESS; + bool isMmsSupported = false; SysAssertf(__pImpl == null, "The MmsManager instance is already constructed."); + + r = Tizen::System::_SystemInfoImpl::GetSysInfo(L"http://tizen.org/feature/network.telephony.mms", isMmsSupported); + SysTryReturnResult(NID_MSG, (r == E_SUCCESS) && (isMmsSupported == true), E_UNSUPPORTED_OPERATION, " MMS is not supported."); + // create an _MmsManagerImpl instance __pImpl = new (std::nothrow) _MmsManagerImpl(); SysTryReturn(NID_MSG, __pImpl != null, E_OUT_OF_MEMORY, r = E_OUT_OF_MEMORY, "Failed to allocate memory"); diff --git a/src/FMsgSmsManager.cpp b/src/FMsgSmsManager.cpp index 43dbcaa..93578db 100755 --- a/src/FMsgSmsManager.cpp +++ b/src/FMsgSmsManager.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include "FMsg_SmsManagerImpl.h" #include "FMsg_Types.h" #include "FMsg_SmsEvent.h" @@ -63,6 +64,10 @@ SmsManager::Construct(ISmsListener& listener) { // method return code result r = E_SUCCESS; + bool isSmsSupported = false; + + r = Tizen::System::_SystemInfoImpl::GetSysInfo(L"http://tizen.org/feature/network.telephony", isSmsSupported); + SysTryReturnResult(NID_MSG, (r == E_SUCCESS) && (isSmsSupported == true), E_UNSUPPORTED_OPERATION, " SMS is not supported."); SysAssertf(__pImpl == null, "The SmsManager instance is already constructed."); @@ -505,15 +510,19 @@ result SmsManager::SetCbsMessageEventListener(ICbsMessageEventListener* pListener) { result r = E_SUCCESS; + bool isCbsSupported = false; ClearLastResult(); - SysAssertf(__pImpl != null, "The SmsManager instance is not constructed yet."); + r = Tizen::System::_SystemInfoImpl::GetSysInfo(L"http://tizen.org/feature/network.telephony.sms.cbs", isCbsSupported); + SysTryReturnResult(NID_MSG, (r == E_SUCCESS) && (isCbsSupported == true), E_UNSUPPORTED_OPERATION, " CBS is not supported."); // checking privilege r = _AccessController::CheckUserPrivilege(_PRV_CELLBROADCAST); SysTryReturn(NID_MSG, r == E_SUCCESS, E_PRIVILEGE_DENIED, r = E_PRIVILEGE_DENIED, "[E_PRIVILEGE_DENIED] Propagated."); + SysAssertf(__pImpl != null, "The SmsManager instance is not constructed yet."); + // add listener r = __pImpl->SetCbsMessageEventListener(pListener); @@ -524,15 +533,19 @@ result SmsManager::SetEtwsPrimaryNotificationEventListener(IEtwsPrimaryNotificationEventListener* pListener) { result r = E_SUCCESS; + bool isCbsSupported = false; ClearLastResult(); - SysAssertf(__pImpl != null, "The SmsManager instance is not constructed yet."); + r = Tizen::System::_SystemInfoImpl::GetSysInfo(L"http://tizen.org/feature/network.telephony.sms.cbs", isCbsSupported); + SysTryReturnResult(NID_MSG, (r == E_SUCCESS) && (isCbsSupported == true), E_UNSUPPORTED_OPERATION, " CBS is not supported."); // checking privilege r = _AccessController::CheckUserPrivilege(_PRV_CELLBROADCAST); SysTryReturn(NID_MSG, r == E_SUCCESS, E_PRIVILEGE_DENIED, r = E_PRIVILEGE_DENIED, "[E_PRIVILEGE_DENIED] Propagated."); + SysAssertf(__pImpl != null, "The SmsManager instance is not constructed yet."); + // add listener r = __pImpl->SetEtwsPrimaryNotificationEventListener(pListener); @@ -543,15 +556,19 @@ result SmsManager::SetSavingToCbsBoxEnabled(bool enable) { result r = E_SUCCESS; + bool isCbsSupported = false; ClearLastResult(); - SysAssertf(__pImpl != null, "The SmsManager instance is not constructed yet."); + r = Tizen::System::_SystemInfoImpl::GetSysInfo(L"http://tizen.org/feature/network.telephony.sms.cbs", isCbsSupported); + SysTryReturnResult(NID_MSG, (r == E_SUCCESS) && (isCbsSupported == true), E_UNSUPPORTED_OPERATION, " CBS is not supported."); // checking privilege r = _AccessController::CheckUserPrivilege(_PRV_CELLBROADCAST); SysTryReturn(NID_MSG, r == E_SUCCESS, E_PRIVILEGE_DENIED, r = E_PRIVILEGE_DENIED, "[E_PRIVILEGE_DENIED] Propagated."); + SysAssertf(__pImpl != null, "The SmsManager instance is not constructed yet."); + r = __pImpl->SetSavingToCbsBoxEnabled(enable); return r; @@ -565,13 +582,16 @@ SmsManager::IsCbsEnabled(void) const ClearLastResult(); - // checking conditions - SysAssertf(__pImpl != null, "The SmsManager instance is not constructed yet."); - // checking privilege r = _AccessController::CheckUserPrivilege(_PRV_CELLBROADCAST); SysTryCatch(NID_MSG, r == E_SUCCESS, r = E_PRIVILEGE_DENIED, E_PRIVILEGE_DENIED, "[E_PRIVILEGE_DENIED] Propagated."); + + // checking conditions + SysAssertf(__pImpl != null, "The SmsManager instance is not constructed yet."); + + + isCbsEnabled = __pImpl->IsCbsEnabled(); r = GetLastResult(); @@ -588,15 +608,19 @@ result SmsManager::SetCbsEnabled(bool enable) { result r = E_SUCCESS; + bool isCbsSupported = false; ClearLastResult(); - SysAssertf(__pImpl != null, "The SmsManager instance is not constructed yet."); + r = Tizen::System::_SystemInfoImpl::GetSysInfo(L"http://tizen.org/feature/network.telephony.sms.cbs", isCbsSupported); + SysTryReturnResult(NID_MSG, (r == E_SUCCESS) && (isCbsSupported == true), E_UNSUPPORTED_OPERATION, " CBS is not supported."); // checking privilege r = _AccessController::CheckUserPrivilege(_PRV_CELLBROADCAST); SysTryReturn(NID_MSG, r == E_SUCCESS, E_PRIVILEGE_DENIED, r = E_PRIVILEGE_DENIED, "[E_PRIVILEGE_DENIED] Propagated."); + SysAssertf(__pImpl != null, "The SmsManager instance is not constructed yet."); + r = __pImpl->SetCbsEnabled(enable); return r; @@ -606,15 +630,19 @@ result SmsManager::AddCbsChannel(int from, int to, Tizen::Base::String& name, bool activate) { result r = E_SUCCESS; + bool isCbsSupported = false; ClearLastResult(); - SysAssertf(__pImpl != null, "The SmsManager instance is not constructed yet."); + r = Tizen::System::_SystemInfoImpl::GetSysInfo(L"http://tizen.org/feature/network.telephony.sms.cbs", isCbsSupported); + SysTryReturnResult(NID_MSG, (r == E_SUCCESS) && (isCbsSupported == true), E_UNSUPPORTED_OPERATION, " CBS is not supported."); // checking privilege r = _AccessController::CheckUserPrivilege(_PRV_CELLBROADCAST); SysTryReturn(NID_MSG, r == E_SUCCESS, E_PRIVILEGE_DENIED, r = E_PRIVILEGE_DENIED, "[E_PRIVILEGE_DENIED] Propagated."); + SysAssertf(__pImpl != null, "The SmsManager instance is not constructed yet."); + // argument check SysTryReturn(NID_MSG, name.GetLength() <= MAX_CBS_CHANNEL_NAME_LENGTH, E_INVALID_ARG, r = E_INVALID_ARG, "[E_INVALID_ARG] invalid channel name."); @@ -631,15 +659,19 @@ result SmsManager::RemoveCbsChannel(int from, int to) { result r = E_SUCCESS; + bool isCbsSupported = false; ClearLastResult(); - SysAssertf(__pImpl != null, "The SmsManager instance is not constructed yet."); + r = Tizen::System::_SystemInfoImpl::GetSysInfo(L"http://tizen.org/feature/network.telephony.sms.cbs", isCbsSupported); + SysTryReturnResult(NID_MSG, (r == E_SUCCESS) && (isCbsSupported == true), E_UNSUPPORTED_OPERATION, " CBS is not supported."); // checking privilege r = _AccessController::CheckUserPrivilege(_PRV_CELLBROADCAST); SysTryReturn(NID_MSG, r == E_SUCCESS, E_PRIVILEGE_DENIED, r = E_PRIVILEGE_DENIED, "[E_PRIVILEGE_DENIED] Propagated."); + SysAssertf(__pImpl != null, "The SmsManager instance is not constructed yet."); + SysTryReturn(NID_MSG, ((to >= 0) && (from >= 0) && (to >= from) && (to <= MAX_CBS_CHANNEL_LIMIT) && ((to - from) <= MAX_CBS_CHANNEL_RANGE)), E_INVALID_ARG, r = E_INVALID_ARG, "[E_INVALID_ARG] Failed to add construct channel, invalid arguments."); @@ -654,15 +686,20 @@ SmsManager::GetCbsChannelN(int from, int to) const { result r = E_SUCCESS; CbsChannel* pCbsChannel = null; + bool isCbsSupported = false; ClearLastResult(); + ClearLastResult(); - SysAssertf(__pImpl != null, "The SmsManager instance is not constructed yet."); + r = Tizen::System::_SystemInfoImpl::GetSysInfo(L"http://tizen.org/feature/network.telephony.sms.cbs", isCbsSupported); + SysTryReturn(NID_MSG, (r == E_SUCCESS) && (isCbsSupported == true), null, E_UNSUPPORTED_OPERATION, " CBS is not supported."); // checking privilege r = _AccessController::CheckUserPrivilege(_PRV_CELLBROADCAST); SysTryCatch(NID_MSG, r == E_SUCCESS, r = E_PRIVILEGE_DENIED, r, "[E_PRIVILEGE_DENIED] Propagated."); + SysAssertf(__pImpl != null, "The SmsManager instance is not constructed yet."); + SysTryCatch(NID_MSG, ((to >= 0) && (from >= 0) && (to >= from) && (to <= MAX_CBS_CHANNEL_LIMIT) && ((to - from) <= MAX_CBS_CHANNEL_RANGE)), r = E_INVALID_ARG, r, "[E_INVALID_ARG] Failed to add construct channel, invalid arguments."); @@ -692,15 +729,19 @@ SmsManager::GetCbsChannelListN(void) { result r = E_SUCCESS; IList* pList = null; + bool isCbsSupported = false; ClearLastResult(); - SysAssertf(__pImpl != null, "The SmsManager instance is not constructed yet."); + r = Tizen::System::_SystemInfoImpl::GetSysInfo(L"http://tizen.org/feature/network.telephony.sms.cbs", isCbsSupported); + SysTryReturn(NID_MSG, (r == E_SUCCESS) && (isCbsSupported == true), null, E_UNSUPPORTED_OPERATION, " CBS is not supported."); // checking privilege r = _AccessController::CheckUserPrivilege(_PRV_CELLBROADCAST); SysTryCatch(NID_MSG, r == E_SUCCESS, r = E_PRIVILEGE_DENIED, r, "[E_PRIVILEGE_DENIED] Propagated."); + SysAssertf(__pImpl != null, "The SmsManager instance is not constructed yet."); + pList = __pImpl->GetCbsChannelListN(); r = GetLastResult(); diff --git a/src/FMsgWapPushManager.cpp b/src/FMsgWapPushManager.cpp index fd7c349..4a5fc55 100644 --- a/src/FMsgWapPushManager.cpp +++ b/src/FMsgWapPushManager.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include "FMsg_Types.h" #include "FMsg_WapPushManagerImpl.h" @@ -73,15 +74,19 @@ result WapPushManager::AddWapPushEventListener(const Tizen::Base::String& wapApplicationId, IWapPushEventListener& listener) { result r = E_SUCCESS; + bool isWapPushSupported = false; ClearLastResult(); - SysAssertf(__pWapPushManagerImpl != null, "The WapPushManager instance is not constructed yet."); + r = Tizen::System::_SystemInfoImpl::GetSysInfo(L"http://tizen.org/feature/network.telephony", isWapPushSupported); + SysTryReturnResult(NID_MSG, (r == E_SUCCESS) && (isWapPushSupported == true), E_UNSUPPORTED_OPERATION, " Wap Push is not supported."); // checking privilege r = _AccessController::CheckUserPrivilege(_PRV_WAPPUSH); SysTryReturn(NID_MSG, r == E_SUCCESS, E_PRIVILEGE_DENIED, r = E_PRIVILEGE_DENIED, "[E_PRIVILEGE_DENIED] Propagating."); + SysAssertf(__pWapPushManagerImpl != null, "The WapPushManager instance is not constructed yet."); + // argument check SysTryReturn(NID_MSG, wapApplicationId.GetLength() != 0, E_INVALID_ARG, r = E_INVALID_ARG, "[E_INVALID_ARG] The length of wapApplicationId is 0."); @@ -95,15 +100,19 @@ result WapPushManager::RemoveWapPushEventListener(const Tizen::Base::String& wapApplicationId, IWapPushEventListener& listener) { result r = E_SUCCESS; + bool isWapPushSupported = false; ClearLastResult(); - SysAssertf(__pWapPushManagerImpl != null, "The WapPushManager instance is not constructed yet."); + r = Tizen::System::_SystemInfoImpl::GetSysInfo(L"http://tizen.org/feature/network.telephony", isWapPushSupported); + SysTryReturnResult(NID_MSG, (r == E_SUCCESS) && (isWapPushSupported == true), E_UNSUPPORTED_OPERATION, " Wap Push is not supported."); // checking privilege r = _AccessController::CheckUserPrivilege(_PRV_WAPPUSH); SysTryReturn(NID_MSG, r == E_SUCCESS, E_PRIVILEGE_DENIED, r = E_PRIVILEGE_DENIED, "[E_PRIVILEGE_DENIED] Propagating."); + SysAssertf(__pWapPushManagerImpl != null, "The WapPushManager instance is not constructed yet."); + // argument check SysTryReturn(NID_MSG, wapApplicationId.GetLength() != 0, E_INVALID_ARG, r = E_INVALID_ARG, "[E_INVALID_ARG] The length of wapApplicationId is 0."); @@ -116,15 +125,19 @@ result WapPushManager::RegisterCondition(const Tizen::Base::String& wapApplicationId, const Tizen::Base::String& contentType) { result r = E_SUCCESS; + bool isWapPushSupported = false; ClearLastResult(); - SysAssertf(__pWapPushManagerImpl != null, "The WapPushManager instance is not constructed yet."); + r = Tizen::System::_SystemInfoImpl::GetSysInfo(L"http://tizen.org/feature/network.telephony", isWapPushSupported); + SysTryReturnResult(NID_MSG, (r == E_SUCCESS) && (isWapPushSupported == true), E_UNSUPPORTED_OPERATION, " Wap Push is not supported."); // checking privilege r = _AccessController::CheckUserPrivilege(_PRV_WAPPUSH); SysTryReturn(NID_MSG, r == E_SUCCESS, E_PRIVILEGE_DENIED, r = E_PRIVILEGE_DENIED, "[E_PRIVILEGE_DENIED] Propagating."); + SysAssertf(__pWapPushManagerImpl != null, "The WapPushManager instance is not constructed yet."); + // argument check SysTryReturn(NID_MSG, wapApplicationId.GetLength() != 0, E_INVALID_ARG, r = E_INVALID_ARG, "[E_INVALID_ARG] The length of wapApplicationId is 0."); @@ -139,15 +152,19 @@ result WapPushManager::UnregisterCondition(const Tizen::Base::String& wapApplicationId, const Tizen::Base::String& contentType) { result r = E_SUCCESS; + bool isWapPushSupported = false; ClearLastResult(); - SysAssertf(__pWapPushManagerImpl != null, "The WapPushManager instance is not constructed yet."); + r = Tizen::System::_SystemInfoImpl::GetSysInfo(L"http://tizen.org/feature/network.telephony", isWapPushSupported); + SysTryReturnResult(NID_MSG, (r == E_SUCCESS) && (isWapPushSupported == true), E_UNSUPPORTED_OPERATION, " Wap Push is not supported."); // checking privilege r = _AccessController::CheckUserPrivilege(_PRV_WAPPUSH); SysTryReturn(NID_MSG, r == E_SUCCESS, E_PRIVILEGE_DENIED, r = E_PRIVILEGE_DENIED, "[E_PRIVILEGE_DENIED] Propagating."); + SysAssertf(__pWapPushManagerImpl != null, "The WapPushManager instance is not constructed yet."); + // argument check SysTryReturn(NID_MSG, wapApplicationId.GetLength() != 0, E_INVALID_ARG, r = E_INVALID_ARG, "[E_INVALID_ARG] The length of wapApplicationId is 0."); -- 2.7.4