2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #ifndef _JS_CALENDAR_ALARM_H_
19 #define _JS_CALENDAR_ALARM_H_
21 #include <JavaScriptCore/JavaScript.h>
22 #include <CommonsJavaScript/PrivateObject.h>
23 #include <API/Calendar/EventAlarm.h>
29 #define TIZEN_INTERFACE_CALENDAR_ALARM "CalendarAlarm"
31 #define TIZEN_CALENDAR_ALARM_ABSOLUTE_DATE "absoluteDate"
32 #define TIZEN_CALENDAR_ALARM_BEFORE "before"
33 #define TIZEN_CALENDAR_ALARM_METHOD "method"
34 #define TIZEN_CALENDAR_ALARM_DESCRIPTION "description"
36 typedef WrtDeviceApis::CommonsJavaScript::PrivateObject<TizenApis::Api::Calendar::EventAlarmPtr,
37 WrtDeviceApis::CommonsJavaScript::NoOwnership> EventAlarmPrivateObject;
43 static const JSClassDefinition* getClassInfo();
45 static JSClassRef getClassRef();
47 static JSObjectRef createJSCalendarAlarm(JSContextRef context, TizenApis::Api::Calendar::EventAlarmPtr alarm);
49 static TizenApis::Api::Calendar::EventAlarmPtr getPrivateObject(JSObjectRef object);
51 static void setPrivateObject(const TizenApis::Api::Calendar::EventAlarmPtr &alarm,
53 const JSObjectRef object);
58 * The callback invoked when an object is first created.
60 static void initialize(JSContextRef context, JSObjectRef object);
63 * The callback invoked when an object is finalized.
65 static void finalize(JSObjectRef object);
68 * Constructor for the CalendarAlarm interface.
70 static JSObjectRef constructor(JSContextRef context,
71 JSObjectRef constructor,
73 const JSValueRef arguments[],
74 JSValueRef* exception);
76 static JSValueRef getProperty(JSContextRef context,
78 JSStringRef propertyName,
79 JSValueRef* exception);
81 static bool setProperty(JSContextRef context,
83 JSStringRef propertyName,
85 JSValueRef* exception);
87 static JSClassRef m_jsClassRef;
90 * This structure describes a statically declared function property.
92 static JSStaticFunction m_function[];
95 * This structure contains properties and callbacks that define a type of object.
97 static JSClassDefinition m_classInfo;
100 * This member variable contains the initialization values for the static properties of this class.
101 * The values are given according to the data structure JSPropertySpec
103 static JSStaticValue m_property[];
109 #endif /* _JS_CALENDAR_ALARM_H_ */