Update change log and spec for wrt-plugins-tizen_0.4.51
[framework/web/wrt-plugins-tizen.git] / src / Alarm / JSAlarmAbsolute.cpp
index 1c78c4f..e18815d 100644 (file)
@@ -107,20 +107,14 @@ void JSAlarmAbsolute::finalize(JSObjectRef object)
 
 }
 
-bool JSAlarmAbsolute::hasInstance(JSContextRef context, JSObjectRef constructor, JSValueRef possibleInstance, JSValueRef* exception)
-{
-    return JSValueIsObjectOfClass(context, possibleInstance, getClassRef());
-}
 
 JSObjectRef DLL_EXPORT JSAlarmAbsolute::constructor(JSContextRef ctx, JSObjectRef constructor, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
 {
-    try {
-        AlarmAbsolutePtr priv = AlarmAbsolutePtr(new AlarmAbsolute());
-        if (!priv) {
-            throw TypeMismatchException("Private object is null");
-        }
+       ArgumentValidator validator(ctx, argumentCount, arguments);
 
-        ArgumentValidator validator(ctx, argumentCount, arguments); 
+       AlarmAbsolutePtr priv = AlarmAbsolutePtr(new AlarmAbsolute());
+
+    try {
         time_t date = validator.toTimeT(0);
         struct tm *startDate = localtime(&date);
         mktime(startDate);
@@ -152,12 +146,19 @@ JSObjectRef DLL_EXPORT JSAlarmAbsolute::constructor(JSContextRef ctx, JSObjectRe
                 priv->setInterval(interval);
             }
         }
+       } catch (const BasePlatformException& err) {
+               LoggerE("Exception occured while creating constructor : " << err.getMessage());
+       }
 
-        return JSValueToObject(ctx, createJSObject(ctx, priv), exception);
+       JSAlarmAbsolutePriv *jspriv = new JSAlarmAbsolutePriv(ctx, priv);
+       JSObjectRef obj = JSObjectMake(ctx, getClassRef(), jspriv);
 
-    } catch (const BasePlatformException& err) {
-        return JSWebAPIErrorFactory::postException(ctx, exception, err);
-    }
+    JSStringRef ctorName = JSStringCreateWithUTF8CString("constructor");
+    JSObjectSetProperty(ctx, obj, ctorName, constructor,
+        kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete | kJSPropertyAttributeDontEnum, NULL);
+    JSStringRelease(ctorName);
+
+       return obj;
 }
 
 AlarmAbsolutePtr JSAlarmAbsolute::getPrivData(JSObjectRef object)
@@ -173,17 +174,6 @@ AlarmAbsolutePtr JSAlarmAbsolute::getPrivData(JSObjectRef object)
     return result;
 }
 
-JSValueRef JSAlarmAbsolute::createJSObject(JSContextRef context, const int id)
-{
-    AlarmAbsolutePtr privateData = AlarmAbsolutePtr(new AlarmAbsolute());   
-    privateData->setId(id);
-    
-    JSAlarmAbsolutePriv *priv = new JSAlarmAbsolutePriv(context, privateData);
-    if (!priv) {
-        throw TypeMismatchException("Private object is null");
-    }
-    return  JSObjectMake(context, getClassRef(), static_cast<void*>(priv));
-}
 
 JSValueRef JSAlarmAbsolute::createJSObject(JSContextRef context, AlarmAbsolutePtr privateData)
 {
@@ -194,30 +184,6 @@ JSValueRef JSAlarmAbsolute::createJSObject(JSContextRef context, AlarmAbsolutePt
     return JSObjectMake(context, getClassRef(), static_cast<void*>(priv));
 }
 
-JSValueRef JSAlarmAbsolute::createJSObject(JSContextRef context, struct tm date, int interval)
-{
-    AlarmAbsolutePtr privateData = AlarmAbsolutePtr(new AlarmAbsolute());
-    privateData->setDate(date);
-
-    JSAlarmAbsolutePriv *priv = new JSAlarmAbsolutePriv(context, privateData);
-    if (!priv) {
-        throw TypeMismatchException("Private object is null");
-    }
-    return JSObjectMake(context, getClassRef(), static_cast<void*>(priv));
-}
-
-JSValueRef JSAlarmAbsolute::createJSObject(JSContextRef context, struct tm date)
-{
-    AlarmAbsolutePtr privateData = AlarmAbsolutePtr(new AlarmAbsolute());
-    privateData->setDate(date);
-
-    JSAlarmAbsolutePriv *priv = new JSAlarmAbsolutePriv(context, privateData);
-    if (!priv) {
-        throw TypeMismatchException("Private object is null");
-    }
-    return JSObjectMake(context, getClassRef(), static_cast<void*>(priv));
-}
-
 JSValueRef JSAlarmAbsolute::getNextScheduledDate( JSContextRef ctx, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef * exception)
 {   
     TIME_TRACER_ITEM_BEGIN(__FUNCTION__, 0);