upload tizen1.0 source
[profile/ivi/wrt-plugins-tizen.git] / src / standards / Tizen / NFC / JSNdefRecordURI.cpp
index ba04b38..032aa96 100755 (executable)
@@ -129,17 +129,14 @@ JSObjectRef JSNdefRecordURI::constructor(JSContextRef ctx, JSObjectRef construct
        LogDebug("entered");
 
        NdefRecordPrivObject* mainPriv = static_cast<NdefRecordPrivObject*>(JSObjectGetPrivate(constructor));
-       JSContextRef global_context = mainPriv ? mainPriv->getContext() : ctx;
-       Try {
-               if (argumentCount != 1) {
-                       ThrowMsg(InvalidArgumentException, "parameter count is wrong.");
-               } else if (JSValueIsNull(ctx, arguments[0]) || JSValueIsUndefined(ctx, arguments[0]) || !JSValueIsString(ctx, arguments[0])) {
-                       ThrowMsg(ConversionException, "parameter is JSNull/JSUndefined/Not array");
-               }
 
+       Try {
                Converter convert(ctx);
 
-               return createJSObject(global_context, convert.toString(arguments[0]));
+               if (argumentCount > 0)
+                       return createJSObject(ctx, convert.toString(arguments[0]));
+               else
+                       return createJSObject(ctx, convert.toString(JSValueMakeUndefined(ctx)));
        } Catch(ConversionException) {
                LogError("ConversionException: " << _rethrown_exception.GetMessage());
                *exception = JSTizenExceptionFactory::makeErrorObject(ctx, JSTizenException::TYPE_MISMATCH_ERROR, "Type Mismatch");
@@ -150,6 +147,10 @@ JSObjectRef JSNdefRecordURI::constructor(JSContextRef ctx, JSObjectRef construct
                return NULL;
        } Catch (PlatformException) {
                LogError("PlatformException: " << _rethrown_exception.GetMessage());
+               *exception = JSTizenExceptionFactory::makeErrorObject(ctx, JSTizenException::SERVICE_NOT_AVAILABLE, "Service Not Available");
+               return NULL;
+       } Catch (UnknownException) {
+               LogError("PlatformException: " << _rethrown_exception.GetMessage());
                *exception = JSTizenExceptionFactory::makeErrorObject(ctx, JSTizenException::UNKNOWN_ERROR, "Unknown Error");
                return NULL;
        } Catch (WrtDeviceApis::Commons::Exception) {
@@ -184,6 +185,8 @@ JSValueRef JSNdefRecordURI::getProperty(JSContextRef context, JSObjectRef object
                }
        } Catch (ConversionException) {
                LogError("ConversionException: " << _rethrown_exception.GetMessage());
+       } Catch (UnknownException) {
+               LogError("UnknownExceptionException: " << _rethrown_exception.GetMessage());
        } Catch (PlatformException) {
                LogError("PlatformException: " << _rethrown_exception.GetMessage());
        } Catch (NullPointerException) {