tizen 2.3 release
[framework/web/wearable/wrt-plugins-tizen.git] / src / Content / JSImageContent.h
1 //
2 // Tizen Web Device API
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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 #ifndef __TIZEN_JS_IMAGE_CONTENT_H__
19 #define __TIZEN_JS_IMAGE_CONTENT_H__
20
21 #include <JavaScriptCore/JavaScript.h>
22
23 #include "ImageContent.h"
24
25 namespace DeviceAPI {
26 namespace Content {
27
28 class JSImageContent
29 {
30 public:
31     static const JSClassDefinition* getClassInfo();
32     static const JSClassRef getClassRef();
33
34
35     static ImageContentPtr getPrivateObject(JSContextRef context, JSObjectRef object);
36     static void setPrivateObject(JSObjectRef object, ImageContentPtr native);
37     static JSValueRef CreateJSObject(JSContextRef ctx, ContentPtr priv);
38     static bool isObjectOfClass(JSContextRef context, JSValueRef value);
39
40 private:
41
42     /**
43      * The callback invoked when an object is first created.
44      */
45     static void initialize(JSContextRef context,
46             JSObjectRef object);
47
48     /**
49      * The callback invoked when an object is finalized.
50      */
51     static void finalize(JSObjectRef object);
52
53     static JSValueRef getSimpleCoordinates(JSContextRef context,
54             JSObjectRef object,
55             JSStringRef propertyName,
56             JSValueRef* exception);
57
58     static bool setSimpleCoordinates(JSContextRef context,
59             JSObjectRef object,
60             JSStringRef propertyName,
61             JSValueRef value,
62             JSValueRef* exception);
63
64     static JSValueRef getWidth(JSContextRef context,
65             JSObjectRef object,
66             JSStringRef propertyName,
67             JSValueRef* exception);
68
69     static JSValueRef getHeight(JSContextRef context,
70             JSObjectRef object,
71             JSStringRef propertyName,
72             JSValueRef* exception);
73
74     static bool setImageContentOrientation(JSContextRef context,
75             JSObjectRef object,
76             JSStringRef propertyName,
77             JSValueRef value,
78             JSValueRef* exception);
79
80     static JSValueRef getImageContentOrientation(JSContextRef context,
81             JSObjectRef object,
82             JSStringRef propertyName,
83             JSValueRef* exception);
84
85     /**
86      * This member variable contains the values which has to be passed
87      * when the this class is embedded into JS Engine.
88      */
89     static JSClassDefinition m_classInfo;
90
91
92     /**
93      * This member variable contains the initialization values for the
94      * properties of this class. The values are given according to
95      * the data structure JSPropertySpec
96      */
97     static JSStaticValue m_property[];
98
99     static JSClassRef m_jsClassRef;
100 };
101
102
103
104 } // Content
105 } // DeviceAPI
106
107 #endif // __TIZEN_JS_DOWNLOAD_MANAGER_H__