2 // Open Service Platform
3 // Copyright (c) 2012 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 FMedia_CameraCapability.h
20 * @brief This header file contains the implementation header for camera capability.
23 #ifndef _FMEDIA_INTERNAL_CAMERA_CAPABILITY_H_
24 #define _FMEDIA_INTERNAL_CAMERA_CAPABILITY_H_
26 #include <FBaseObject.h>
27 #include <FBaseColHashMapT.h>
28 #include <FBaseColArrayList.h>
29 #include <FGrpDimension.h>
30 #include "FMedia_CameraTypes.h"
31 #include "FMedia_CapabilityTypes.h"
32 #include "FMedia_CameraRefHelper.h"
34 namespace Tizen { namespace Media
37 class _CameraCapabilitySafeHashMapT;
38 typedef Tizen::Base::Object* (*_CameraQueryFunc)(_CameraDeviceType, _QueryType, _ResultType&);
40 * @class _CameraCapability
41 * @brief This class is common for camera and recorder and media capability.
44 class _CameraCapability
45 : public _CameraRefHelper
49 * Get the instance of _CameraCapability.
51 * @return The _CameraCapability instance
52 * @param[in] cameraDevice The camcorder device id.
53 * @exception E_SUCCESS The method is successful.
54 * @exception E_SYSTEM A system error has occurred.
55 * @exception E_DEVICE_BUSY The device cannot be approached because of other operations.
56 * @exception E_DEVICE_UNAVAILABLE The device is unavailable.
58 static _CameraCapability* AddInstance(_CameraDeviceType cameraDevice);
61 * Release the specific _CameraCapability
63 * @param[in] cameraDevice The camera device type
65 static void Release(_CameraDeviceType cameraDevice);
68 * function to get the for specific key type
71 * @param[in] key camera operation query key
72 * @param[out] itemType Item type of returned Object
73 * @exception E_SUCCESS The method is successful.
74 * @exception E_OBJ_NOT_FOUND invalid key
75 * @exception E_SYSTEM A system error has occurred.
76 * @exception E_UNSUPPORTED_OPERATION operation not supported
78 static Tizen::Base::Collection::ArrayList* GetListN(_CameraOperationType key, _ResultType& itemType);
81 * function to check the feature support
84 * @param[in] key camera operation query key
85 * @exception E_SUCCESS The method is successful.
86 * @exception E_SYSTEM A system error has occurred.
87 * @exception E_OUT_OF_MEMORY system has no memory
88 * @exception E_OBJ_NOT_FOUND invalid key
89 * @exception E_UNSUPPORTED_OPERATION operation not supported
91 static bool IsSupported(_CameraOperationType key);
94 * function to get the default value for a specific key
97 * @param[in] key camera operation query key
98 * @param[in] queryType Query of what property is requested
99 * @param[out] itemType Item type of returned Object
100 * @exception E_SUCCESS The method is successful.
101 * @exception E_SYSTEM A system error has occurred.
102 * @exception E_OUT_OF_MEMORY system has no memory
103 * @exception E_OBJ_NOT_FOUND invalid key
104 * @exception E_UNSUPPORTED_OPERATION operation not supported
106 static Tizen::Base::Object* GetValueN(_CameraOperationType key, _QueryType queryType, _ResultType& itemType);
109 * Gets the device selection.
111 * @return The device selection
113 _CameraDeviceType GetDevice(void) const;
116 * Gets the camera's handle
118 * @return The camera handle
120 _CameraHandle GetHandle(void) const;
133 ATTR_AUTO_FOCUS_MODE,
136 enum AttributeResType
142 * Gets the camera's initial resolution
144 * @param[in] opType The resolution operationType.
145 * @param[out] width The initial width.
146 * @param[out] height The initial height.
148 void GetInitResolution(AttributeResType opType, int &width, int &height) const;
151 * Gets the camera's initial value
153 * @param[in] opType The operationType.
154 * @param[out] mmAttr The mm attribute
156 void GetInitValue(AttributeType opType, int& mmAttr) const;
159 * function to get the supported frame rate at each preview resolution.
162 * @param[in] camSel camera type [primary/secondary]
163 * @param[in] queryType Query of what property is requested
164 * @param[in] dim parameter to specify the preview resolution
165 * @param[out] itemType Item type of returned Object
166 * @exception E_SUCCESS The method is successful.
167 * @exception E_SYSTEM A system error has occurred.
168 * @exception E_OUT_OF_MEMORY system has no memory
169 * @exception E_OBJ_NOT_FOUND invalid key
171 static Tizen::Base::Object* GetSupportedPreviewFrameRateN(_CameraDeviceType deviceType, _QueryType queryType, const Tizen::Graphics::Dimension &dim, _ResultType& itemType);
174 friend class _CameraCapabilitySafeHashMapT;
178 _CameraOperationType key;
179 _CameraDeviceType deviceType;
180 _CameraQueryFunc serviceRoutine;
186 _CameraCapability(void);
190 * Resources are deallocated by this method.
192 ~_CameraCapability(void);
195 * Initializes this instance of _CamcorderCoordinator.
197 * @return An error code
198 * @param[in] cameraDevice The camcorder device id.
199 * @exception E_SUCCESS The method is successful.
200 * @exception E_SYSTEM A system error has occurred.
201 * @exception E_DEVICE_BUSY The device cannot be approached because of other operations.
202 * @exception E_DEVICE_UNAVAILABLE The device is unavailable.
204 result Construct(_CameraDeviceType cameraDevice);
206 _CameraCapability(const _CameraCapability& rhs);
207 _CameraCapability& operator =(const _CameraCapability& rhs);
210 * function to get the supported preview resolution
212 * @return ArrayList object(Tizen::Graphics::Dimension)
213 * @param[in] camSel camera type [primary/secondary]
214 * @param[in] queryType Query of what property is requested
215 * @param[out] itemType Item type of returned Object
216 * @exception E_SUCCESS The method is successful.
217 * @exception E_SYSTEM A system error has occurred.
218 * @exception E_OUT_OF_MEMORY system has no memory
219 * @exception E_OBJ_NOT_FOUND invalid key
221 static Tizen::Base::Object* GetSupportedPreviewResolutionN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
224 * function to get the supported capture resolution
226 * @return ArrayList object(Tizen::Graphics::Dimension)
227 * @param[in] camSel camera type [primary/secondary]
228 * @param[in] queryType Query of what property is requested
229 * @param[out] itemType Item type of returned Object
230 * @exception E_SUCCESS The method is successful.
231 * @exception E_SYSTEM A system error has occurred.
232 * @exception E_OUT_OF_MEMORY system has no memory
233 * @exception E_OBJ_NOT_FOUND invalid key
235 static Tizen::Base::Object* GetSupportedCaptureResolutionN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
238 * function to get the supported recorded resolution
240 * @return ArrayList object(Tizen::Graphics::Dimension)
241 * @param[in] camSel camera type [primary/secondary]
242 * @param[in] queryType Query of what property is requested
243 * @param[out] itemType Item type of returned Object
244 * @exception E_SUCCESS The method is successful.
245 * @exception E_SYSTEM A system error has occurred.
246 * @exception E_OUT_OF_MEMORY system has no memory
247 * @exception E_OBJ_NOT_FOUND invalid key
250 static Tizen::Base::Object* GetSupportedRecordingResolutionN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
253 * function to get the supported preview format
255 * @return ArrayList object(Tizen::Base::Integer)
256 * @param[in] camSel camera type [primary/secondary]
257 * @param[in] queryType Query of what property is requested
258 * @param[out] itemType Item type of returned Object
259 * @exception E_SUCCESS The method is successful.
260 * @exception E_SYSTEM A system error has occurred.
261 * @exception E_OUT_OF_MEMORY system has no memory
262 * @exception E_OBJ_NOT_FOUND invalid key
264 static Tizen::Base::Object* GetSupportedPreviewFormatN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
267 * function to get the supported capture format
269 * @return ArrayList object(Tizen::Base::Integer)
270 * @param[in] camSel camera type [primary/secondary]
271 * @param[in] queryType Query of what property is requested
272 * @param[out] itemType Item type of returned Object
273 * @exception E_SUCCESS The method is successful.
274 * @exception E_SYSTEM A system error has occurred.
275 * @exception E_OUT_OF_MEMORY system has no memory
276 * @exception E_OBJ_NOT_FOUND invalid key
278 static Tizen::Base::Object* GetSupportedCaptureFormatN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
281 * function to get the supported auto focus type
283 * @return ArrayList object(Tizen::Graphics::Integer)
284 * @param[in] camSel camera type [primary/secondary]
285 * @param[in] queryType Query of what property is requested
286 * @param[out] itemType Item type of returned Object
287 * @exception E_SUCCESS The method is successful.
288 * @exception E_SYSTEM A system error has occurred.
289 * @exception E_OUT_OF_MEMORY system has no memory
290 * @exception E_OBJ_NOT_FOUND invalid key
292 static Tizen::Base::Object* GetSupportedFocusModeN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
295 * function to get the supported effect type
297 * @return ArrayList object(Tizen::Base::Integer)
298 * @param[in] camSel camera type [primary/secondary]
299 * @param[in] queryType Query of what property is requested
300 * @param[out] itemType Item type of returned Object
301 * @exception E_SUCCESS The method is successful.
302 * @exception E_SYSTEM A system error has occurred.
303 * @exception E_OUT_OF_MEMORY system has no memory
304 * @exception E_OBJ_NOT_FOUND invalid key
306 static Tizen::Base::Object* GetSupportedEffectTypeN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
309 * function to get the supported frame rate
311 * @return ArrayList object(Tizen::Base::Integer)
312 * @param[in] camSel camera type [primary/secondary]
313 * @param[in] queryType Query of what property is requested
314 * @param[out] itemType Item type of returned Object
315 * @exception E_SUCCESS The method is successful.
316 * @exception E_SYSTEM A system error has occurred.
317 * @exception E_OUT_OF_MEMORY system has no memory
318 * @exception E_OBJ_NOT_FOUND invalid key
320 static Tizen::Base::Object* GetSupportedPreviewFrameRateN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
323 * function to get the maximum supported frame rate
325 * @return ArrayList object(Tizen::Base::Integer)
326 * @param[in] camSel camera type [primary/secondary]
327 * @param[out] itemType Item type of returned Object
328 * @exception E_SUCCESS The method is successful.
329 * @exception E_SYSTEM A system error has occurred.
330 * @exception E_OUT_OF_MEMORY system has no memory
331 * @exception E_OBJ_NOT_FOUND invalid key
333 static Tizen::Base::Object* GetSupportedMaxRecordingFrameRateN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
336 * function to get the supported ISO level
338 * @return ArrayList object(Tizen::Base::Integer)
339 * @param[in] camSel camera type [primary/secondary]
340 * @param[in] queryType Query of what property is requested
341 * @param[out] itemType Item type of returned Object
342 * @exception E_SUCCESS The method is successful.
343 * @exception E_SYSTEM A system error has occurred.
344 * @exception E_OUT_OF_MEMORY system has no memory
345 * @exception E_OBJ_NOT_FOUND invalid key
347 static Tizen::Base::Object* GetSupportedIsoLevelN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
350 * function to get the supported white balance
352 * @return ArrayList object(Tizen::Base::Integer)
353 * @param[in] camSel camera type [primary/secondary]
354 * @param[in] queryType Query of what property is requested
355 * @param[out] itemType Item type of returned Object
356 * @exception E_SUCCESS The method is successful.
357 * @exception E_SYSTEM A system error has occurred.
358 * @exception E_OUT_OF_MEMORY system has no memory
359 * @exception E_OBJ_NOT_FOUND invalid key
361 static Tizen::Base::Object* GetSupportedWhiteBalanceN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
364 * function to get the supported shutter speed
366 * @return ArrayList object(Tizen::Base::Integer)
367 * @param[in] camSel camera type [primary/secondary]
368 * @param[in] queryType Query of what property is requested
369 * @param[out] itemType Item type of returned Object
370 * @exception E_SUCCESS The method is successful.
371 * @exception E_SYSTEM A system error has occurred.
372 * @exception E_OUT_OF_MEMORY system has no memory
373 * @exception E_OBJ_NOT_FOUND invalid key
375 static Tizen::Base::Object* GetSupportedShutterSpeedN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
378 * function to get the supported scene type
380 * @return ArrayList object(Tizen::Base::Integer)
381 * @param[in] camSel camera type [primary/secondary]
382 * @param[in] queryType Query of what property is requested
383 * @param[out] itemType Item type of returned Object
384 * @exception E_SUCCESS The method is successful.
385 * @exception E_SYSTEM A system error has occurred.
386 * @exception E_OUT_OF_MEMORY system has no memory
387 * @exception E_OBJ_NOT_FOUND invalid key
389 static Tizen::Base::Object* GetSupportedSceneN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
392 * function to get the supported metering
394 * @return ArrayList object(Tizen::Base::Integer)
395 * @param[in] camSel camera type [primary/secondary]
396 * @param[in] queryType Query of what property is requested
397 * @param[out] itemType Item type of returned Object
398 * @exception E_SUCCESS The method is successful.
399 * @exception E_SYSTEM A system error has occurred.
400 * @exception E_OUT_OF_MEMORY system has no memory
401 * @exception E_OBJ_NOT_FOUND invalid key
403 static Tizen::Base::Object* GetSupportedMeteringN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
406 * function to get the supported aperture
408 * @return ArrayList object(Tizen::Base::Integer)
409 * @param[in] camSel camera type [primary/secondary]
410 * @param[in] queryType Query of what property is requested
411 * @param[out] itemType Item type of returned Object
412 * @exception E_SUCCESS The method is successful.
413 * @exception E_SYSTEM A system error has occurred.
414 * @exception E_OUT_OF_MEMORY system has no memory
415 * @exception E_OBJ_NOT_FOUND invalid key
417 static Tizen::Base::Object* GetSupportedApertureN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
420 * function to get the supported zoom type
422 * @return ArrayList object(Tizen::Base::Integer)
423 * @param[in] camSel camera type [primary/secondary]
424 * @param[in] queryType Query of what property is requested
425 * @param[out] itemType Item type of returned Object
426 * @exception E_SUCCESS The method is successful.
427 * @exception E_SYSTEM A system error has occurred.
428 * @exception E_OUT_OF_MEMORY system has no memory
429 * @exception E_OBJ_NOT_FOUND invalid key
431 static Tizen::Base::Object* GetSupportedZoomTypeN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
434 * function to get the supported flip type
436 * @return ArrayList object(Tizen::Base::Integer)
437 * @param[in] camSel camera type [primary/secondary]
438 * @param[in] queryType Query of what property is requested
439 * @param[out] itemType Item type of returned Object
440 * @exception E_SUCCESS The method is successful.
441 * @exception E_SYSTEM A system error has occurred.
442 * @exception E_OUT_OF_MEMORY system has no memory
443 * @exception E_OBJ_NOT_FOUND invalid key
445 static Tizen::Base::Object* GetSupportedFlipTypeN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
448 * function to get the supported preview rotation type
450 * @return ArrayList object(Tizen::Base::Integer)
451 * @param[in] camSel camera type [primary/secondary]
452 * @param[in] queryType Query of what property is requested
453 * @param[out] itemType Item type of returned Object
454 * @exception E_SUCCESS The method is successful.
455 * @exception E_SYSTEM A system error has occurred.
456 * @exception E_OUT_OF_MEMORY system has no memory
457 * @exception E_OBJ_NOT_FOUND invalid key
459 static Tizen::Base::Object* GetSupportedPreviewRotationN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
462 * function to get the supported capture mode
464 * @return ArrayList object(Tizen::Base::Integer)
465 * @param[in] camSel camera type [primary/secondary]
466 * @param[in] queryType Query of what property is requested
467 * @param[out] itemType Item type of returned Object
468 * @exception E_SUCCESS The method is successful.
469 * @exception E_SYSTEM A system error has occurred.
470 * @exception E_OUT_OF_MEMORY system has no memory
471 * @exception E_OBJ_NOT_FOUND invalid key
473 static Tizen::Base::Object* GetZeroShutterLagN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
476 * function to get the supported zoom level values (min, max)
478 * @return ArrayList object(Tizen::Base::Integer)
479 * @param[in] camSel camera type [primary/secondary]
480 * @param[in] queryType Query of what property is requested
481 * @param[out] itemType Item type of returned Object
482 * @exception E_SUCCESS The method is successful.
483 * @exception E_SYSTEM A system error has occurred.
484 * @exception E_OUT_OF_MEMORY system has no memory
485 * @exception E_OBJ_NOT_FOUND invalid key
487 static Tizen::Base::Object* GetSupportedZoomLevelN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
490 * function to get the camera direction
492 * @return (Tizen::Base::Integer) type object
493 * @param[in] camSel camera type [primary/secondary]
494 * @param[in] queryType Query of what property is requested
495 * @param[out] itemType Item type of returned Object
496 * @exception E_SUCCESS The method is successful.
497 * @exception E_SYSTEM A system error has occurred.
498 * @exception E_OUT_OF_MEMORY system has no memory.
499 * @exception E_OBJ_NOT_FOUND invalid key
501 static Tizen::Base::Object* GetDirectionN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
504 * function to get the rotation value
506 * @return (Tizen::Base::Integer) type object
507 * @param[in] camSel camera type [primary/secondary]
508 * @param[in] queryType Query of what property is requested
509 * @param[out] itemType Item type of returned Object
510 * @exception E_SUCCESS The method is successful.
511 * @exception E_SYSTEM A system error has occurred.
512 * @exception E_OUT_OF_MEMORY system has no memory.
513 * @exception E_OBJ_NOT_FOUND invalid key
515 static Tizen::Base::Object* GetPhysicalRotationN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
518 * function to get the supported contrast
520 * @return The object which contains the values
521 * @param[in] camSel camera type [primary/secondary]
522 * @param[in] queryType Query of what property is requested
523 * @param[out] itemType Item type of returned Object
524 * @exception E_SUCCESS The method is successful.
525 * @exception E_SYSTEM A system error has occurred.
526 * @exception E_OUT_OF_MEMORY system has no memory.
527 * @exception E_OBJ_NOT_FOUND invalid key
529 static Tizen::Base::Object* GetSupportedContrastN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
532 * function to get the supported brightness
534 * @return The object which contains the values
535 * @param[in] camSel camera type [primary/secondary]
536 * @param[in] queryType Query of what property is requested
537 * @param[out] itemType Item type of returned Object
538 * @exception E_SUCCESS The method is successful.
539 * @exception E_SYSTEM A system error has occurred.
540 * @exception E_OUT_OF_MEMORY system has no memory.
541 * @exception E_OBJ_NOT_FOUND invalid key
543 static Tizen::Base::Object* GetSupportedBrightnessN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
546 * function to get the supported exposure
548 * @return The object which contains the values
549 * @param[in] camSel camera type [primary/secondary]
550 * @param[in] queryType Query of what property is requested
551 * @param[out] itemType Item type of returned Object
552 * @exception E_SUCCESS The method is successful.
553 * @exception E_SYSTEM A system error has occurred.
554 * @exception E_OUT_OF_MEMORY system has no memory.
555 * @exception E_OBJ_NOT_FOUND invalid key
557 static Tizen::Base::Object* GetSupportedExposureN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
560 * function to get the supported exposure mode
562 * @return The object which contains the values
563 * @param[in] camSel camera type [primary/secondary]
564 * @param[in] queryType Query of what property is requested
565 * @param[out] itemType Item type of returned Object
566 * @exception E_SUCCESS The method is successful.
567 * @exception E_SYSTEM A system error has occurred.
568 * @exception E_OUT_OF_MEMORY system has no memory.
569 * @exception E_OBJ_NOT_FOUND invalid key
571 static Tizen::Base::Object* GetSupportedMeteringModeN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
574 * function to get the supported flash
576 * @return void* (IList*)
577 * @param[in] camSel camera type [primary/secondary]
578 * @param[in] queryType Query of what property is requested
579 * @param[out] itemType Item type of returned Object
580 * @exception E_SUCCESS The method is successful.
581 * @exception E_SYSTEM A system error has occurred.
582 * @exception E_OUT_OF_MEMORY system has no memory.
583 * @exception E_OBJ_NOT_FOUND invalid key
585 static Tizen::Base::Object* GetSupportedFlashModeN(_CameraDeviceType deviceType, _QueryType queryType, _ResultType& itemType);
587 static bool SupportedCameraPreviewResolutionCb(int width, int height, void* pUserData);
588 static bool SupportedCameraCaptureResolutionCb(int width, int height, void* pUserData);
589 static bool SupportedCameraPreviewFormatCb(camera_pixel_format_e format, void *pUserData);
590 static bool SupportedCameraCaptureFormatCb(camera_pixel_format_e format, void *pUserData);
591 static bool SupportedCameraAttrFlashModeCb(camera_attr_flash_mode_e mode, void *pUserData);
592 static bool SupportedCameraAttrEffectCb(camera_attr_effect_mode_e effect, void *pUserData);
593 static bool SupportedCameraAttrFpsCb(camera_attr_fps_e fps, void *pUserData);
594 static bool SupportedCameraAttrIsoCb(camera_attr_iso_e iso, void *pUserData);
595 static bool SupportedCameraAttrWhitebalanceCb(camera_attr_whitebalance_e wb, void *pUserData);
596 static bool SupportedCameraAttrSceneModeCb(camera_attr_scene_mode_e mode, void *pUserData);
597 static bool SupportedCameraAttrMeteringModeCb(camera_attr_exposure_mode_e mode, void *pUserData);
598 static bool SupportedCameraAttrAfModeCb(camera_attr_af_mode_e mode, void *pUserData);
600 static void InitSafeHashMapInst(void);
602 static _CameraCapabilitySafeHashMapT* __pMap;
603 static const keyServiceMap __SERVICE_MAP[];
605 _CameraDeviceType __device;
606 _CameraHandle __handle;
607 int __initPreviewWidth;
608 int __initPreviewHeight;
609 int __initCaptureWidth;
610 int __initCaptureHeight;
611 camera_pixel_format_e __initPreviewFormat;
612 camera_pixel_format_e __initCaptureFormat;
613 camera_attr_flash_mode_e __initFlashMode;
614 camera_attr_effect_mode_e __initEffectMode;
615 camera_attr_fps_e __initFps;
616 camera_attr_iso_e __initIsoLevel;
617 camera_attr_whitebalance_e __initWb;
618 camera_attr_scene_mode_e __initSceneMode;
619 camera_attr_exposure_mode_e __initMeteringMode;
620 camera_attr_af_mode_e __initAfMode;
624 * @class _CameraCapabilitySafeHashMapT
625 * @brief This class is for handling safe HashMap.
628 class _CameraCapabilitySafeHashMapT
629 : public Tizen::Base::Collection::HashMapT<_CameraDeviceType, _CameraCapability*>
630 , public virtual Tizen::Base::Collection::ICollectionT <Tizen::Base::Collection::MapEntryT <_CameraDeviceType, _CameraCapability*> >
633 _CameraCapabilitySafeHashMapT(void);
634 virtual ~_CameraCapabilitySafeHashMapT(void);
635 void RemoveItems(void);
638 _CameraCapabilitySafeHashMapT(const _CameraCapabilitySafeHashMapT& rhs);
639 _CameraCapabilitySafeHashMapT& operator =(const _CameraCapabilitySafeHashMapT& rhs);