Git Init
[profile/ivi/wrt-plugins-tizen.git] / src / standards / Tizen / Systeminfo / JSSysteminfo.h
1 /*
2  *
3  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved 
4  * 
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  * 
9  * http://www.apache.org/licenses/LICENSE-2.0
10  * 
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *  
17  */
18
19 #ifndef WRTPLUGINS_TIZEN1_0_JS_SYSTEMINFO_H_
20 #define WRTPLUGINS_TIZEN1_0_JS_SYSTEMINFO_H_
21
22 #include <JavaScriptCore/JavaScript.h>
23 #include <CommonsJavaScript/PrivateObject.h>
24 #include <API/Systeminfo/ISysteminfo.h>
25
26 namespace TizenApis {
27 namespace Tizen1_0 {
28
29 typedef WrtDeviceApis::CommonsJavaScript::PrivateObjectT<Api::Systeminfo::ISysteminfoPtr>::Type JSSysteminfoPriv;
30
31 class JSSysteminfo
32 {
33   public:
34     static const JSClassDefinition* getClassInfo();
35     static const JSClassRef getClassRef();
36
37   private:
38     static void initialize(JSContextRef context, JSObjectRef object);
39     static void finalize(JSObjectRef object);
40
41     static JSValueRef isSupported(JSContextRef context, JSObjectRef object, JSObjectRef thisObject,
42                 size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception);
43
44     static JSValueRef getPropertyValue(JSContextRef context, JSObjectRef object, JSObjectRef thisObject,
45                 size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception);
46
47     static JSValueRef addPropertyValueChangedListener(JSContextRef context, JSObjectRef object, JSObjectRef thisObject,
48             size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception);
49
50     static JSValueRef removePropertyChangedListener(JSContextRef context, JSObjectRef object, JSObjectRef thisObject,
51                 size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception);
52
53     static JSClassDefinition m_classInfo;
54     static JSStaticFunction m_function[];
55
56     static JSClassRef m_jsClassRef;
57 };
58
59 }
60 }
61
62 #endif