#include "JSMessageFolder.h"
#include <JSWebAPIError.h>
+#include <Logger.h>
#if 0 // MESSAGING ATTACHMENT IS BLOCKED
#include <JSFile.h>
static_cast<WrtDeviceApis::CommonsJavaScript::PrivateObjectT<void>::Type*>(JSObjectGetPrivate(
arg));
if (!priv) {
- LogError("Private object not initialized");
+ LoggerE("Private object not initialized");
ThrowMsg(WrtDeviceApis::Commons::NullPointerException,
"Private object not initialized");
}
return JSMessage::createJSObject(m_context, arg);
default:
- LogError("unknown type");
+ LoggerE("unknown type");
Throw(WrtDeviceApis::Commons::ConversionException);
}
}
return JSMessage::createJSObject(m_context, arg, listener);
default:
- LogError("unknown type");
+ LoggerE("unknown type");
Throw(WrtDeviceApis::Commons::ConversionException);
}
}
JSValueRef retVal = NULL;
if (NULL == value) {
- LogError("jsValue null");
+ LoggerE("jsValue null");
Throw(WrtDeviceApis::Commons::ConversionException);
}
JSObjectRef argObj = JSValueToObject(m_context, value, NULL);
if (NULL == argObj) {
- LogError("conversion to jsobject fail");
+ LoggerE("conversion to jsobject fail");
Throw(WrtDeviceApis::Commons::ConversionException);
}
const JSStringRef keyJSStr = JSStringCreateWithUTF8CString(key.c_str());
retVal = JSObjectGetProperty(m_context, argObj, keyJSStr, NULL);
JSStringRelease(keyJSStr);
if (NULL == retVal) {
- LogWarning("key \"" << key << "\" not found in JSValue map");
+ LoggerW("key \"" << key << "\" not found in JSValue map");
}
// return NULL if no key in map
return retVal;
IMessagePtr ConverterMessage::toIMessage(JSObjectRef arg)
{
- LogDebug("message object=" << arg);
+ LoggerD("message object=" << arg);
if (!arg) {
- LogError("Object is null");
+ LoggerE("Object is null");
ThrowMsg(WrtDeviceApis::Commons::NullPointerException,
"Private object not initialized");
}
JSMessagePrivateObject* priv =
static_cast<JSMessagePrivateObject*>(JSObjectGetPrivate(arg));
if (!priv) {
- LogError("Private object not initialized");
+ LoggerE("Private object not initialized");
ThrowMsg(WrtDeviceApis::Commons::NullPointerException,
"Private object not initialized");
}
retVal = priv->getObject();
if (!retVal) {
- LogError("Message private object not initialized");
+ LoggerE("Message private object not initialized");
ThrowMsg(WrtDeviceApis::Commons::NullPointerException,
"Private object not initialized");
}
{
if (!arg)
{
- LogError("Object is Null");
+ LoggerE("Object is Null");
ThrowMsg(WrtDeviceApis::Commons::NullPointerException, "Private object not initialized");
}
static_cast<JSMessageAttachmentPrivate*>(JSObjectGetPrivate(arg));
if (!priv) {
- LogError("Private object not initialized");
+ LoggerE("Private object not initialized");
ThrowMsg(WrtDeviceApis::Commons::NullPointerException,
"Private object not initialized");
}
retVal = priv->getObject();
if (!retVal) {
- LogError("Message private object not initialized");
+ LoggerE("Message private object not initialized");
ThrowMsg(WrtDeviceApis::Commons::NullPointerException,
"Private object not initialized");
}
{
if (!arg)
{
- LogError("Object is Null");
+ LoggerE("Object is Null");
ThrowMsg(WrtDeviceApis::Commons::NullPointerException, "Private object not initialized");
}
static_cast<JSMessageFolderPriv*>(JSObjectGetPrivate(arg));
if (!priv) {
- LogError("Private object not initialized");
+ LoggerE("Private object not initialized");
ThrowMsg(WrtDeviceApis::Commons::NullPointerException,
"Private object not initialized");
}
retVal = priv->getObject();
if (!retVal) {
- LogError("Message private object not initialized");
+ LoggerE("Message private object not initialized");
ThrowMsg(WrtDeviceApis::Commons::NullPointerException,
"Private object not initialized");
}
return retVal;
}
-OnMessagesChanged ConverterMessage::toMessageMultifunctions(JSValueRef argument)
-{
- OnMessagesChanged result;
- Validator validator(m_context);
- JSObjectRef objectCallbacks = toJSObjectRef(argument);
- std::string callbackName = toString(argument);
- int index = 0;
-
- LogDebug("Enter\n");
-
- for (index = 0; index < MESSAGING_MULTI_FUNTION_MAX; index++)
- {
- ScopedJSStringRef propName(toJSStringRef(m_callbackNames[index].addedFunction));
-
- if (JSObjectHasProperty(m_context, objectCallbacks, propName.get()))
- {
- LogDebug("Callback name :" << m_callbackNames[index].addedFunction << " "
- << m_callbackNames[index].updatedFunction << " " << m_callbackNames[index].removedFunction);
-
- result.messagesAdded = JSUtils::getJSPropertyOrUndefined(m_context, objectCallbacks, m_callbackNames[index].addedFunction);
- result.messagesUpdated = JSUtils::getJSPropertyOrUndefined(m_context, objectCallbacks, m_callbackNames[index].updatedFunction);
- result.messagesRemoved = JSUtils::getJSPropertyOrUndefined(m_context, objectCallbacks, m_callbackNames[index].removedFunction);
- break;
- }
-
- }
-
- if(result.messagesAdded == NULL || result.messagesUpdated == NULL || result.messagesRemoved == NULL)
- {
- LogError("OnMessagesChanged is not set");
- Throw(WrtDeviceApis::Commons::ConversionException);
- }
-
- result.functionIndex = index;
-
- if ((!validator.isNullOrUndefined(result.messagesAdded) && !validator.isCallback(result.messagesAdded)) ||
- (!validator.isNullOrUndefined(result.messagesUpdated) && !validator.isCallback(result.messagesUpdated)) ||
- (!validator.isNullOrUndefined(result.messagesRemoved) && !validator.isCallback(result.messagesRemoved)))
- {
- LogError("java script call back set error");
- Throw(WrtDeviceApis::Commons::ConversionException);
- }
+OnMessagesChanged ConverterMessage::toMessageMultifunctions(JSValueRef argument, int multiFuntionType)
+{
+ LoggerD("Enter");
+
+ LoggerD("multiFuntionType : " << multiFuntionType);
+
+ OnMessagesChanged result;
+ Validator validator(m_context);
+ JSObjectRef objectCallbacks = toJSObjectRef(argument);
+
+ ScopedJSStringRef propNameAdded(toJSStringRef(m_callbackNames[multiFuntionType].addedFunction));
+ ScopedJSStringRef propNameUpdated(toJSStringRef(m_callbackNames[multiFuntionType].updatedFunction));
+ ScopedJSStringRef propNameRemoved(toJSStringRef(m_callbackNames[multiFuntionType].removedFunction));
+
+ if(JSObjectHasProperty(m_context, objectCallbacks, propNameAdded.get()))
+ {
+ LoggerD("added exist");
+ result.messagesAdded = JSUtils::getJSPropertyOrUndefined(m_context, objectCallbacks, m_callbackNames[multiFuntionType].addedFunction);
+ if (validator.isNullOrUndefined(result.messagesAdded))
+ result.messagesAdded = NULL;
+ else if (!validator.isCallback(result.messagesAdded)) {
+ LoggerD("is not Callback");
+ ThrowMsg(ConversionException, "1nd argument's onsuccess attribute is not a 'function'");
+ }
+ }
+ if(JSObjectHasProperty(m_context, objectCallbacks, propNameUpdated.get()))
+ {
+ LoggerD("updated exist");
+ result.messagesUpdated = JSUtils::getJSPropertyOrUndefined(m_context, objectCallbacks, m_callbackNames[multiFuntionType].updatedFunction);
+ if (validator.isNullOrUndefined(result.messagesUpdated))
+ result.messagesUpdated = NULL;
+ else if (!validator.isCallback(result.messagesUpdated)) {
+ LoggerD("is not Callback");
+ ThrowMsg(ConversionException, "2nd argument's onsuccess attribute is not a 'function'");
+ }
+ }
+ if(JSObjectHasProperty(m_context, objectCallbacks, propNameRemoved.get()))
+ {
+ LoggerD("removed exist");
+ result.messagesRemoved = JSUtils::getJSPropertyOrUndefined(m_context, objectCallbacks, m_callbackNames[multiFuntionType].removedFunction);
+ if (validator.isNullOrUndefined(result.messagesRemoved))
+ result.messagesRemoved = NULL;
+ else if (!validator.isCallback(result.messagesRemoved)) {
+ LoggerD("is not Callback");
+ ThrowMsg(ConversionException, "3nd argument's onsuccess attribute is not a 'function'");
+ }
+ }
+
+ if(result.messagesAdded != NULL || result.messagesUpdated != NULL || result.messagesRemoved != NULL)
+ {
+ result.functionIndex = multiFuntionType;
+ }
return result;
}
{
// convert JSvalue to message type enum
std::string strMsgType = toString(arg);
- LogDebug("Messasge Type : " << strMsgType);
+ LoggerD("Messasge Type : " << strMsgType);
if ( strMsgType.compare("messaging.sms") == 0 )
{
std::string ConverterMessage::toMessageType( long msgtype )
{
- LogDebug("Messasge Type : " << msgtype);
+ LoggerD("Messasge Type : " << msgtype);
switch (msgtype)
{
MessageType ConverterMessage::toMessageType(std::string arg)
{
- LogDebug("Messasge Type : " << arg);
+ LoggerD("Messasge Type : " << arg);
if ( arg.compare("messaging.sms") == 0 )
{
std::string ConverterMessage::toMessageStatusType( long msgstatus )
{
- LogDebug("Messasge Status : " << msgstatus);
+ LoggerD("Messasge Status : " << msgstatus);
switch (msgstatus)
{
std::string ConverterMessage::convertIntToString( int msgInt )
{
- LogDebug("input int : " << msgInt);
+ LoggerD("input int : " << msgInt);
std::stringstream stream;
stream << msgInt;
return stream.str();
if( JSGetArrayLength(m_context, jsObject) == 0)
{
- LogError("this is empty conversation");
+ LoggerE("this is empty conversation");
Throw(WrtDeviceApis::Commons::ConversionException);
}
} else if ("bcc" == addressType) {
return BCC_ADDRESS;
} else {
- LogError("unknown address type");
+ LoggerE("unknown address type");
Throw(WrtDeviceApis::Commons::InvalidArgumentException);
}
}