Update change log and spec for wrt-plugins-tizen_0.4.70
[framework/web/wrt-plugins-tizen.git] / src / Calendar / JSCalendarTask.cpp
index 27f6c87..b48ec11 100755 (executable)
 #include "ICalendar.h"
 #include "CalendarFactory.h"
 #include "JSCalendarTask.h"
-#include "JSCalendarItemProperties.h"
 #include "CalendarConverter.h"
 #include "JSCalendarEventId.h"
 #include <TimeUtilConverter.h>
 #include <JSTZDate.h>
 #include <JSWebAPIErrorFactory.h>
 #include <GlobalContextManager.h>
+#include <Security.h>
 #include <Logger.h>
 #include <Export.h>
 
@@ -113,6 +113,17 @@ JSObjectRef DLL_EXPORT JSCalendarTask::constructor(JSContextRef context,
     JSValueRef* exception)
 {
        CalendarEventPtr task(new CalendarEvent());
+       DeviceAPI::Common::SecurityAccessor *securityAccessor = NULL;
+
+    try
+    {
+        securityAccessor = DeviceAPI::Common::JSObjectGetSecurityAccessor(context, constructor);
+    }
+    catch(BasePlatformException &e)
+    {
+        task->setCalendarType(CalendarEvent::TASK_TYPE);
+        return createJSCalendarTask(context, task, securityAccessor);
+    }
 
     Try
     {
@@ -166,7 +177,7 @@ JSObjectRef DLL_EXPORT JSCalendarTask::constructor(JSContextRef context,
         }
 
         task->setCalendarType(CalendarEvent::TASK_TYPE);
-        return createJSCalendarTask(context, task);
+        return createJSCalendarTask(context, task, securityAccessor);
     }
     Catch(UnsupportedException)
     {
@@ -190,12 +201,13 @@ JSObjectRef DLL_EXPORT JSCalendarTask::constructor(JSContextRef context,
     }
 
     task->setCalendarType(CalendarEvent::TASK_TYPE);
-    return createJSCalendarTask(context, task);
+    return createJSCalendarTask(context, task, securityAccessor);
 }
 
-JSObjectRef JSCalendarTask::createJSCalendarTask(JSContextRef context, CalendarEventPtr task)
+JSObjectRef JSCalendarTask::createJSCalendarTask(JSContextRef context, CalendarEventPtr task, const DeviceAPI::Common::SecurityAccessor *securityAccessor)
 {
     CalendarTaskPrivObject *priv = new CalendarTaskPrivObject(context, task);
+    priv->copyAceCheckAccessFunction(securityAccessor);
     return JSObjectMake(context, getClassRef(), priv);
 }