r = __msgMutex.Create();
}
+ __pTempCbsChannelList = new (std::nothrow) ArrayList();
+ SysTryReturnResult(NID_MSG, __pTempCbsChannelList != null, E_OUT_OF_MEMORY, "memory allocation failed");
+ r = __pTempCbsChannelList->Construct();
+ SysTryReturnResult(NID_MSG, r == E_SUCCESS, r, "Failed to construct an ArrayList");
+
return r;
}
_SmsMmsCallbackHandler::GetInstance(void)
{
result r = E_SUCCESS;
-
+
if (!__pMessageCallbackHandler)
{
__pMessageCallbackHandler = new (std::nothrow) _SmsMmsCallbackHandler();
SysTryReturn(NID_MSG, __pMessageCallbackHandler != NULL, null, E_SYSTEM, "failed to create instance");
-
+
if (__pMessageCallbackHandler)
{
r = __pMessageCallbackHandler->Construct();
SysTryReturn(NID_MSG, __pTempCbsChannelList != null, r = E_SYSTEM, E_SYSTEM, "Failed to save the channel.");
err = msg_get_list_handle(__cbsSettingsHandle, MSG_CB_CHANNEL_LIST_STRUCT, (void **)&__pCbsChannelList);
SysTryReturn(NID_MSG, err == MSG_SUCCESS, r = E_SYSTEM, E_SYSTEM, "Failed to get the channel handle.");
+ SysLog(NID_MSG, "SaveCbsSettings Count %d, %d ",__pCbsChannelList->nCount,__pTempCbsChannelList->GetCount());
__pCbsChannelList->nCount = __pTempCbsChannelList->GetCount();
// save Channel List
err = msg_set_cb_opt(__msgHandle, __cbsSettingsHandle);
r = ConvertException(err);
+ SysTryReturnResult(NID_MSG, r == E_SUCCESS, r, "Failed to save the channel.[%d] ",err);
return r;
}
bool isChannelActive = false;
char channelName[CB_CHANNEL_NAME_MAX + 1] = {0,};
- __pTempCbsChannelList = new (std::nothrow) ArrayList();
- SysTryCatch(NID_MSG, __pTempCbsChannelList != null, r = E_OUT_OF_MEMORY, r, "memory allocation failed");
+ if (__pTempCbsChannelList->GetCount() > 0)
+ {
+ __pTempCbsChannelList->RemoveAll(true);
+ }
- // make a list
- r = __pTempCbsChannelList->Construct();
- SysTryCatch(NID_MSG, r == E_SUCCESS, , r, "Failed to construct an ArrayList");
if (__cbsSettingsHandle)
{
// Load Channel List
err = msg_get_list_handle(__cbsSettingsHandle, MSG_CB_CHANNEL_LIST_STRUCT, (void **)&__pCbsChannelList);
+ r = ConvertException(err);
+ SysTryReturnResult(NID_MSG, r == E_SUCCESS, r, "Failed to open cbs Settings Handle");
+
for (int index = 0; index < __pCbsChannelList->nCount; index++)
{
msg_get_bool_value(__pCbsChannelList->msg_struct_info[index], MSG_CB_CHANNEL_ACTIVATE_BOOL, &isChannelActive);
msg_get_int_value(__pCbsChannelList->msg_struct_info[index], MSG_CB_CHANNEL_ID_TO_INT, &toId);
msg_get_str_value(__pCbsChannelList->msg_struct_info[index], MSG_CB_CHANNEL_NAME_STR,
channelName,CB_CHANNEL_NAME_MAX);
-
- pCbsChannel = _CbsChannelImpl::GetCbsChannelN(fromId, toId, String(channelName));
- SysTryCatch(NID_MSG, pCbsChannel != null, r = E_SYSTEM, r, "Failed to get the channel.");
- if (isChannelActive)
+ if((toId >= 0) && (fromId >= 0) && (toId >= fromId) && (toId <= MAX_CBS_CHANNEL_LIMIT) && ((toId - fromId) <= MAX_CBS_CHANNEL_RANGE))
{
- _CbsChannelImpl::GetInstance(*pCbsChannel)->SetCbsChannelState(isChannelActive);
+
+ pCbsChannel = _CbsChannelImpl::GetCbsChannelN(fromId, toId, String(channelName));
+ SysTryReturnResult(NID_MSG, pCbsChannel != null, E_SYSTEM, "Failed to get the channel.");
+ if (isChannelActive)
+ {
+ _CbsChannelImpl::GetInstance(*pCbsChannel)->SetCbsChannelState(isChannelActive);
+ }
+ __pTempCbsChannelList->Add(*pCbsChannel);
}
- __pTempCbsChannelList->Add(*pCbsChannel);
- }
- }
-
- r = ConvertException(err);
- return r;
+ else
+ {
+ SysLog(NID_MSG, "Load CBS Error: From[%d] To[%d] ",fromId, toId);
-CATCH:
- if (__pTempCbsChannelList)
- {
- if (__pTempCbsChannelList->GetCount() > 0)
- {
- __pTempCbsChannelList->RemoveAll(true);
+ }
}
- delete __pTempCbsChannelList;
- __pTempCbsChannelList = null;
}
return r;
+
}
int