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.
19 * @file JSSensorConnection.h
20 * @author Pius Lee (pius.lee@samsung.com)
24 #ifndef _WRTPLUGINS_TIZEN_JS_SENSOR_CONNECTION_
25 #define _WRTPLUGINS_TIZEN_JS_SENSOR_CONNECTION_
27 #include <JavaScriptCore/JavaScript.h>
37 SENSOR_CON_DISCONNECTED,
41 class JSSensorConnection {
43 static JSContextRef m_globalCtx;
44 static const JSClassDefinition* getClassInfo();
45 static const JSClassRef getClassRef();
48 static void initialize(JSContextRef ctx, JSObjectRef object);
49 static void finalize(JSObjectRef object);
50 static bool hasInstance(JSContextRef ctx, JSObjectRef constructor, JSValueRef possibleInstance, JSValueRef* exception);
52 static JSValueRef read(JSContextRef ctx, JSObjectRef object, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception);
53 static JSValueRef startWatch(JSContextRef ctx, JSObjectRef object, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception);
54 static JSValueRef endWatch(JSContextRef ctx, JSObjectRef object, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception);
57 static JSValueRef addEventListener(JSContextRef ctx, JSObjectRef object, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception);
58 static JSValueRef removeEventListener(JSContextRef ctx, JSObjectRef object, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception);
59 static JSValueRef dispatchEvent(JSContextRef ctx, JSObjectRef object, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception);
61 static JSObjectRef constructor(JSContextRef ctx, JSObjectRef constructor, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception);
63 static JSValueRef getProperty(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception);
64 static bool setProperty(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef value, JSValueRef* exception);
67 static JSClassDefinition m_jsClassInfo;
68 static JSClassRef m_jsClassRef;
69 static JSStaticFunction m_function[];