2 // Tizen Web Device API
3 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0
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.
19 * @file JSExifInformation.h
22 #ifndef __TIZEN_JS_EXIF_INFORMATION_H__
23 #define __TIZEN_JS_EXIF_INFORMATION_H__
25 #include <JavaScriptCore/JavaScript.h>
27 #include "ExifInformation.h"
32 class JSExifInformation {
34 static const JSClassDefinition* getClassInfo();
35 static const JSClassRef getClassRef();
37 static ExifInformationPtr getPrivateObject(JSContextRef context, JSValueRef value);
39 static JSObjectRef makeJSObject(JSContextRef context, ExifInformationPtr native);
41 static JSObjectRef constructor(JSContextRef context,
42 JSObjectRef constructor,
44 const JSValueRef arguments[],
45 JSValueRef* exception);
50 * This member variable contains the values which has to be passed
51 * when the this class is embedded into JS Engine.
53 static JSClassDefinition m_classInfo;
56 * This structure describes a statically declared property.
58 static JSStaticValue m_property[];
60 static JSClassRef m_jsClassRef;
63 * The callback invoked when an object is first created.
65 static void initialize(JSContextRef context, JSObjectRef object);
68 * The callback invoked when an object is finalized.
70 static void finalize(JSObjectRef object);
75 static JSValueRef getUri(JSContextRef context,
77 JSStringRef propertyName,
78 JSValueRef* exception);
83 static bool setUri(JSContextRef context,
85 JSStringRef propertyName,
87 JSValueRef* exception);
92 static JSValueRef getWidth(JSContextRef context,
94 JSStringRef propertyName,
95 JSValueRef* exception);
100 static bool setWidth(JSContextRef context,
102 JSStringRef propertyName,
104 JSValueRef* exception);
107 * getHeight operation.
109 static JSValueRef getHeight(JSContextRef context,
111 JSStringRef propertyName,
112 JSValueRef* exception);
115 * setHeight operation.
117 static bool setHeight(JSContextRef context,
119 JSStringRef propertyName,
121 JSValueRef* exception);
124 * getDeviceMaker operation.
126 static JSValueRef getDeviceMaker(JSContextRef context,
128 JSStringRef propertyName,
129 JSValueRef* exception);
132 * setDeviceMaker operation.
134 static bool setDeviceMaker(JSContextRef context,
136 JSStringRef propertyName,
138 JSValueRef* exception);
141 * getDeviceModel operation.
143 static JSValueRef getDeviceModel(JSContextRef context,
145 JSStringRef propertyName,
146 JSValueRef* exception);
149 * setDeviceModel operation.
151 static bool setDeviceModel(JSContextRef context,
153 JSStringRef propertyName,
155 JSValueRef* exception);
158 * getOriginalTime operation.
160 static JSValueRef getOriginalTime(JSContextRef context,
162 JSStringRef propertyName,
163 JSValueRef* exception);
166 * setOriginalTime operation.
168 static bool setOriginalTime(JSContextRef context,
170 JSStringRef propertyName,
172 JSValueRef* exception);
175 * getOrientation operation.
177 static JSValueRef getOrientation(JSContextRef context,
179 JSStringRef propertyName,
180 JSValueRef* exception);
183 * setOrientation operation.
185 static bool setOrientation(JSContextRef context,
187 JSStringRef propertyName,
189 JSValueRef* exception);
192 * getFNumber operation.
194 static JSValueRef getFNumber(JSContextRef context,
196 JSStringRef propertyName,
197 JSValueRef* exception);
200 * setFNumber operation.
202 static bool setFNumber(JSContextRef context,
204 JSStringRef propertyName,
206 JSValueRef* exception);
209 * getIsoSpeedRatings operation.
211 static JSValueRef getIsoSpeedRatings(JSContextRef context,
213 JSStringRef propertyName,
214 JSValueRef* exception);
217 * setIsoSpeedRatings operation.
219 static bool setIsoSpeedRatings(JSContextRef context,
221 JSStringRef propertyName,
223 JSValueRef* exception);
226 * getExposureTime operation.
228 static JSValueRef getExposureTime(JSContextRef context,
230 JSStringRef propertyName,
231 JSValueRef* exception);
234 * setExposureTime operation.
236 static bool setExposureTime(JSContextRef context,
238 JSStringRef propertyName,
240 JSValueRef* exception);
243 * getExposureProgram operation.
245 static JSValueRef getExposureProgram(JSContextRef context,
247 JSStringRef propertyName,
248 JSValueRef* exception);
251 * setExposureProgram operation.
253 static bool setExposureProgram(JSContextRef context,
255 JSStringRef propertyName,
257 JSValueRef* exception);
260 * getFlash operation.
262 static JSValueRef getFlash(JSContextRef context,
264 JSStringRef propertyName,
265 JSValueRef* exception);
268 * setFlash operation.
270 static bool setFlash(JSContextRef context,
272 JSStringRef propertyName,
274 JSValueRef* exception);
277 * getFocalLength operation.
279 static JSValueRef getFocalLength(JSContextRef context,
281 JSStringRef propertyName,
282 JSValueRef* exception);
285 * setFocalLength operation.
287 static bool setFocalLength(JSContextRef context,
289 JSStringRef propertyName,
291 JSValueRef* exception);
294 * getWhiteBalance operation.
296 static JSValueRef getWhiteBalance(JSContextRef context,
298 JSStringRef propertyName,
299 JSValueRef* exception);
302 * setWhiteBalance operation.
304 static bool setWhiteBalance(JSContextRef context,
306 JSStringRef propertyName,
308 JSValueRef* exception);
311 * getGpsLocation operation.
313 static JSValueRef getGpsLocation(JSContextRef context,
315 JSStringRef propertyName,
316 JSValueRef* exception);
319 * setGpsLocation operation.
321 static bool setGpsLocation(JSContextRef context,
323 JSStringRef propertyName,
325 JSValueRef* exception);
328 * getGpsAltitude operation.
330 static JSValueRef getGpsAltitude(JSContextRef context,
332 JSStringRef propertyName,
333 JSValueRef* exception);
336 * setGpsAltitude operation.
338 static bool setGpsAltitude(JSContextRef context,
340 JSStringRef propertyName,
342 JSValueRef* exception);
345 * getGpsProcessingMethod operation.
347 static JSValueRef getGpsProcessingMethod(JSContextRef context,
349 JSStringRef propertyName,
350 JSValueRef* exception);
353 * setGpsProcessingMethod operation.
355 static bool setGpsProcessingMethod(JSContextRef context,
357 JSStringRef propertyName,
359 JSValueRef* exception);
362 * getGpsTime operation.
364 static JSValueRef getGpsTime(JSContextRef context,
366 JSStringRef propertyName,
367 JSValueRef* exception);
370 * setGpsTime operation.
372 static bool setGpsTime(JSContextRef context,
374 JSStringRef propertyName,
376 JSValueRef* exception);
379 * getUserComment operation.
381 static JSValueRef getUserComment(JSContextRef context,
383 JSStringRef propertyName,
384 JSValueRef* exception);
387 * setUserComment operation.
389 static bool setUserComment(JSContextRef context,
391 JSStringRef propertyName,
393 JSValueRef* exception);
399 #endif // __TIZEN_JS_EXIF_INFORMATION_H__