unsuppported exception add.
authorByounghui <byounghui.lim@samsung.com>
Thu, 18 Apr 2013 06:21:03 +0000 (15:21 +0900)
committerByounghui <byounghui.lim@samsung.com>
Thu, 18 Apr 2013 07:13:59 +0000 (16:13 +0900)
Change-Id: I8243379621ca3679b04039a793a9a7de9411cf5d
Signed-off-by: Byounghui <byounghui.lim@samsung.com>
src/FMsgMmsManager.cpp
src/FMsgSmsManager.cpp
src/FMsgWapPushManager.cpp

index ed34bfa..115812e 100755 (executable)
@@ -30,6 +30,7 @@
 #include <FMsgMmsMessage.h>
 #include <FBaseSysLog.h>
 #include <FSec_AccessController.h>
+#include <FSys_SystemInfoImpl.h>
 #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");
index 43dbcaa..93578db 100755 (executable)
@@ -30,6 +30,7 @@
 #include <FMsgSmsMessage.h>
 #include <FBaseSysLog.h>
 #include <FSec_AccessController.h>
+#include <FSys_SystemInfoImpl.h>
 #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();
index fd7c349..4a5fc55 100644 (file)
@@ -27,6 +27,7 @@
 #include <FMsgWapPushManager.h>
 #include <FBaseSysLog.h>
 #include <FSec_AccessController.h>
+#include <FSys_SystemInfoImpl.h>
 #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.");