X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2FFMsg_WapPushManagerImpl.cpp;h=24a9813880fad8f4d16c1df655efb020a5b663b5;hb=6df7cd727b770f7dc9d46505ef1d55f4b2d932a4;hp=1f769dd8469ca3759a74834ae673015af5e284ce;hpb=99006b32cdbd042dbd5bdd9984914a61f6cae600;p=platform%2Fframework%2Fnative%2Fmessaging.git diff --git a/src/FMsg_WapPushManagerImpl.cpp b/src/FMsg_WapPushManagerImpl.cpp index 1f769dd..24a9813 100644 --- a/src/FMsg_WapPushManagerImpl.cpp +++ b/src/FMsg_WapPushManagerImpl.cpp @@ -22,7 +22,10 @@ */ // OAF headers -#include +#include +#include +#include +#include #include #include #include @@ -75,7 +78,7 @@ result _WapPushManagerImpl::AddWapPushEventListener(const Tizen::Base::String& wapApplicationId, const IWapPushEventListener& listener) { result r = E_SUCCESS; - int err = MESSAGES_ERROR_NONE; + int err = MSG_SUCCESS; char* pWapAppId = null; ClearLastResult(); @@ -111,7 +114,7 @@ _WapPushManagerImpl::AddWapPushEventListener(const Tizen::Base::String& wapAppli // check value of msg handle SysTryCatch(NID_MSG, __msgHandle > 0, r = E_SYSTEM, r, "failed to get msg handle."); - err = messages_push_add_incoming_cb(__msgHandle, pWapAppId, &_SmsMmsCallbackHandler::IncomingWapPushMessageCallback, (void*) __pWapPushReceiveEvent); + err = msg_reg_push_message_callback(__msgHandle, &_SmsMmsCallbackHandler::IncomingWapPushMessageCallback, pWapAppId, (void*) __pWapPushReceiveEvent); r = ConvertException(err); SysTryCatch(NID_MSG, r == E_SUCCESS, , r, "[%s] Failed to Add WapPush EventListener.", GetErrorMessage(r)); @@ -144,29 +147,13 @@ result _WapPushManagerImpl::RemoveWapPushEventListener(const Tizen::Base::String& wapApplicationId, const IWapPushEventListener& listener) { result r = E_SUCCESS; - int err = MESSAGES_ERROR_NONE; ClearLastResult(); - char* pWapAppId = null; SysTryCatch(NID_MSG, __pWapPushReceiveEvent != null, r = E_OBJ_NOT_FOUND, r, "listner not found"); r = __pWapPushReceiveEvent->RemoveListener(listener); SysTryCatch(NID_MSG, r == E_SUCCESS, , r, "listner remove failed"); - pWapAppId = _StringConverter::CopyToCharArrayN(wapApplicationId); - SysTryCatch(NID_MSG, pWapAppId != null, r = E_OUT_OF_MEMORY, r, "memory allocation failed"); - - err = messages_push_remove_incoming_cb(__msgHandle, pWapAppId); - - r = ConvertException(err); - SysTryCatch(NID_MSG, r == E_SUCCESS, , r, "[%s] Failed to Remove WapPush EventListener.", GetErrorMessage(r)); - - if (pWapAppId) - { - delete[] pWapAppId; - pWapAppId = null; - } - if (__pWapPushReceiveEvent) { delete __pWapPushReceiveEvent; @@ -176,11 +163,6 @@ _WapPushManagerImpl::RemoveWapPushEventListener(const Tizen::Base::String& wapAp return r; CATCH: - if (pWapAppId) - { - delete[] pWapAppId; - pWapAppId = null; - } return r; } @@ -188,9 +170,11 @@ result _WapPushManagerImpl::RegisterCondition(const Tizen::Base::String& wapApplicationId, const Tizen::Base::String& contentType) { result r = E_SUCCESS; - int err = MESSAGES_ERROR_NONE; + int err = MSG_SUCCESS; char* pWapAppId = null; char* pContentType = null; + msg_struct_t pushInfo; + char* pPkgName = null; ClearLastResult(); @@ -200,7 +184,17 @@ _WapPushManagerImpl::RegisterCondition(const Tizen::Base::String& wapApplication pContentType = _StringConverter::CopyToCharArrayN(contentType); SysTryCatch(NID_MSG, pContentType != null, r = E_OUT_OF_MEMORY, r, "memory allocation failed"); - err = messages_push_register(__msgHandle, pContentType, pWapAppId); + err = app_get_package(&pPkgName); + SysTryCatch(NID_MSG, err == APP_ERROR_NONE, r = E_SYSTEM, r, "[%s] Failed to Open Message Handle", GetErrorMessage(r)); + + pushInfo = msg_create_struct(MSG_STRUCT_PUSH_CONFIG_INFO); + msg_set_str_value(pushInfo, MSG_PUSH_CONFIG_CONTENT_TYPE_STR, (char *)pContentType, MAX_WAPPUSH_CONTENT_TYPE_LEN); + msg_set_str_value(pushInfo, MSG_PUSH_CONFIG_APPLICATON_ID_STR, (char *)pWapAppId, MAX_WAPPUSH_ID_LEN); + msg_set_str_value(pushInfo, MSG_PUSH_CONFIG_PACKAGE_NAME_STR, pPkgName, MSG_FILEPATH_LEN_MAX); + free(pPkgName); + + err = msg_add_push_event(__msgHandle, pushInfo); + msg_release_struct(&pushInfo); r = ConvertException(err); SysTryCatch(NID_MSG, r == E_SUCCESS, , r, "[%s] Failed to register Condition for wap push.", GetErrorMessage(r)); @@ -219,6 +213,9 @@ _WapPushManagerImpl::RegisterCondition(const Tizen::Base::String& wapApplication return r; CATCH: + free(pPkgName); + msg_release_struct(&pushInfo); + if (pWapAppId) { delete[] pWapAppId; @@ -237,9 +234,11 @@ result _WapPushManagerImpl::UnregisterCondition(const Tizen::Base::String& wapApplicationId, const Tizen::Base::String& contentType) { result r = E_SUCCESS; - int err = MESSAGES_ERROR_NONE; + int err = MSG_SUCCESS; char* pWapAppId = null; char* pContentType = null; + msg_struct_t pushInfo; + char* pPkgName = null; ClearLastResult(); @@ -249,7 +248,17 @@ _WapPushManagerImpl::UnregisterCondition(const Tizen::Base::String& wapApplicati pContentType = _StringConverter::CopyToCharArrayN(contentType); SysTryCatch(NID_MSG, pContentType != null, r = E_OUT_OF_MEMORY, r, "memory allocation failed"); - err = messages_push_deregister(__msgHandle, pContentType, pWapAppId); + err = app_get_package(&pPkgName); + SysTryCatch(NID_MSG, err == APP_ERROR_NONE, r = E_SYSTEM, r, "[%s] Failed to Open Message Handle", GetErrorMessage(r)); + + pushInfo = msg_create_struct(MSG_STRUCT_PUSH_CONFIG_INFO); + msg_set_str_value(pushInfo, MSG_PUSH_CONFIG_CONTENT_TYPE_STR, pContentType, MAX_WAPPUSH_CONTENT_TYPE_LEN); + msg_set_str_value(pushInfo, MSG_PUSH_CONFIG_APPLICATON_ID_STR, pWapAppId, MAX_WAPPUSH_ID_LEN); + msg_set_str_value(pushInfo, MSG_PUSH_CONFIG_PACKAGE_NAME_STR, pPkgName, MSG_FILEPATH_LEN_MAX); + free(pPkgName); + + err = msg_delete_push_event(__msgHandle, pushInfo); + msg_release_struct(&pushInfo); r = ConvertException(err); SysTryCatch(NID_MSG, r == E_SUCCESS, , r, "[%s] Failed to Unregister Condition for wap push", GetErrorMessage(r)); @@ -268,6 +277,9 @@ _WapPushManagerImpl::UnregisterCondition(const Tizen::Base::String& wapApplicati return r; CATCH: + free(pPkgName); + msg_release_struct(&pushInfo); + if (pWapAppId) { delete[] pWapAppId; @@ -289,33 +301,32 @@ _WapPushManagerImpl::ConvertException(int err) const switch (err) { - case MESSAGES_ERROR_NONE: + case MSG_SUCCESS: r = E_SUCCESS; break; - case MESSAGES_ERROR_INVALID_PARAMETER: + case MSG_ERR_INVALID_PARAMETER: + case MSG_ERR_INVALID_MESSAGE: + case MSG_ERR_NULL_POINTER: + case MSG_ERR_NULL_MESSAGE: r = E_INVALID_ARG; break; - case MESSAGES_ERROR_OUT_OF_MEMORY: + case MSG_ERR_MEMORY_ERROR: r = E_OUT_OF_MEMORY; break; - case MESSAGES_ERROR_SERVER_NOT_READY: // Communication error between client and server - case MESSAGES_ERROR_COMMUNICATION_WITH_SERVER_FAILED: + case MSG_ERR_SERVER_NOT_READY: + case MSG_ERR_TRANSPORT_ERROR: + case MSG_ERR_COMMUNICATION_ERROR: r = E_NETWORK_UNAVAILABLE; break; - case MESSAGES_ERROR_NO_SIM_CARD: + case MSG_ERR_NO_SIM: r = E_DEVICE_UNAVAILABLE; break; - case MESSAGES_ERROR_OUT_OF_RANGE: - r = E_OBJ_ALREADY_EXIST; - break; - - case MESSAGES_ERROR_SENDING_FAILED: - case MESSAGES_ERROR_OPERATION_FAILED: + case MSG_ERR_PLUGIN_TAPI_FAILED: r = E_FAILURE; break;