Flora license update
[apps/core/preloaded/ug-camera-efl.git] / include / CamDeviceCapacity.h
1 /*\r
2  * Copyright 2012  Samsung Electronics Co., Ltd\r
3  *\r
4  * Licensed under the Flora License, Version 1.1 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *        http://floralicense.org/license/\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 \r
18 #ifndef _CCAM_DEVICE_CAPACITY_H_\r
19 #define _CCAM_DEVICE_CAPACITY_H_\r
20 \r
21 #include "cam_property.h"\r
22 \r
23 class CCamDeviceCapacity\r
24 {\r
25         //===========================================================================\r
26         // Constructor & Destructor\r
27 public:\r
28 \r
29 protected:\r
30         CCamDeviceCapacity();\r
31         virtual ~CCamDeviceCapacity();\r
32 \r
33 \r
34         //===========================================================================\r
35         // Attributes\r
36 protected:\r
37         static CCamDeviceCapacity* m_pInstance;\r
38 \r
39         typedef struct _DevCapsSupported\r
40         {\r
41                 bool    bChecked;\r
42                 bool    bSupported;\r
43         }DevCapsSupported;\r
44 \r
45         typedef struct _DevCapsMinMax\r
46         {\r
47                 bool    bChecked;\r
48                 bool    bSupported;\r
49                 int     nMin;\r
50                 int     nMax;\r
51         }DevCapsMinMax;\r
52 \r
53         typedef struct _DevCapsRange\r
54         {\r
55                 bool bChecked;\r
56                 bool bSupported;\r
57                 unsigned int unCaps;\r
58         }DevCapsRange;\r
59 \r
60 \r
61         DevCapsRange m_CamRes;\r
62         DevCapsRange m_RecRes;\r
63         DevCapsRange m_Focus;\r
64         DevCapsRange m_Effect;\r
65         DevCapsRange m_WB;\r
66         DevCapsRange m_Scene;\r
67         DevCapsRange m_Metering;\r
68         DevCapsRange m_ISO;\r
69         DevCapsRange m_Flash;\r
70         DevCapsRange m_Fps;\r
71         DevCapsRange m_Shot;\r
72         DevCapsRange m_RecMode;\r
73 \r
74         DevCapsMinMax   m_Zoom;\r
75         DevCapsMinMax   m_Ev;\r
76         DevCapsMinMax   m_Br;\r
77 \r
78         DevCapsSupported m_WDR;\r
79         DevCapsSupported m_AntiShake;\r
80         DevCapsSupported m_RecAntiShake;\r
81         DevCapsSupported m_Outdoorvisibility;\r
82 \r
83         unsigned int m_uFuncCaps;\r
84         //===========================================================================\r
85         // Interfaces\r
86 public:\r
87 \r
88         static CCamDeviceCapacity*      GetInstance();\r
89         void                                    Destroy();\r
90         void                                    ResetCaps();\r
91 \r
92         void            GetCamDevFuncCaps(unsigned int *eType, void *user_data);\r
93 \r
94         bool            GetCamDevCamResolutionCaps(unsigned int *uCapacity, void *user_data);\r
95         bool            GetCamDevRecResolutionCaps(unsigned int *uCapacity, void *user_data);\r
96         bool            GetCamDevFocusCaps(unsigned int *uCapacity, void *user_data);\r
97         bool            GetCamDevEffectCaps(unsigned int *uCapacity, void *user_data);\r
98         bool            GetCamDevWBCaps(unsigned int *uCapacity, void *user_data);\r
99         bool            GetCamDevSceneModeCaps(unsigned int *uCapacity, void *user_data);\r
100         bool            GetCamDevMeteringCaps(unsigned int *uCapacity, void *user_data);\r
101         bool            GetCamDevISOCaps(unsigned int *uCapacity, void *user_data);\r
102         bool            GetCamDevFlashCaps(unsigned int *uCapacity, void *user_data);\r
103         bool            GetCamDevFpsCaps(unsigned int *uCapacity, void *user_data);\r
104         bool            GetCamDevShotModeCaps(unsigned int *uCapacity, void *user_data);\r
105         bool            GetCamDevRecModeCaps(unsigned int *uCapacity, void *user_data);\r
106         bool            GetCamDevZoomCaps(int *min, int *max);\r
107         bool            GetCamDevEvCaps(int *min, int *max);\r
108         bool            GetCamDevBrCaps(int *min, int *max);\r
109 \r
110 \r
111 \r
112 private:\r
113         bool            IsSupported(unsigned int type, CamDeviceType deviceType, void *user_data);\r
114 };\r
115 \r
116 \r
117 #endif //_CCAM_DEVICE_CAPACITY_H_\r
118 \r