Add to read a custum feature key.
[platform/framework/native/appfw.git] / src / security / inc / FSec_AccessControlTypes.h
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Apache License, Version 2.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //     http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16
17 /**
18  * @file        FSec_AccessControlTypes.h
19  * @brief       This is the header file for the _AccessControl.
20  * This header file contains the declarations of the _AccessControl.
21  */
22
23 #ifndef _FSEC_INTERNAL_ACCESS_CONTROL_TYPES_H_
24 #define _FSEC_INTERNAL_ACCESS_CONTROL_TYPES_H_
25
26 #include <FAppTypes.h>
27 #include <FBaseInternalTypes.h>
28
29 namespace Tizen { namespace Security
30 {
31
32 enum _Privilege
33 {
34         _PRV_ALARM = 0,
35         _PRV_APPLICATION_KILL,
36         _PRV_APPLICATION_LAUNCH,
37         _PRV_APPMANAGER_LAUNCH,
38         _PRV_APPSETTING,
39         _PRV_APPUSAGE,
40         _PRV_AUDIOMANAGER_ROUTE,
41         _PRV_AUDIOMANAGER_SESSION,
42         _PRV_AUDIOMANAGER_VOIPSESSION,
43         _PRV_AUDIORECORDER,
44         _PRV_BLUETOOTH_ADMIN,
45         _PRV_BLUETOOTH_GAP,
46         _PRV_BLUETOOTH_HEALTH,
47         _PRV_BLUETOOTH_OPP,
48         _PRV_BLUETOOTH_SPP,
49         _PRV_BLUETOOTHMANAGER,
50         _PRV_CALENDAR_READ,
51         _PRV_CALENDAR_WRITE,
52         _PRV_CALLFORWARD,
53         _PRV_CALLHISTORY_READ,
54         _PRV_CALLHISTORY_WRITE,
55         _PRV_CAMERA,
56         _PRV_CELLBROADCAST,
57         _PRV_CERTIFICATE_READ,
58         _PRV_CERTIFICATE_WRITE,
59         _PRV_CONTACT_READ,
60         _PRV_CONTACT_WRITE,
61         _PRV_CONTENT_READ,
62         _PRV_CONTENT_WRITE,
63         _PRV_CUSTOMNETACCOUNT,
64         _PRV_DNS,
65         _PRV_DOWNLOAD,
66         _PRV_DRMSERVICE,
67         _PRV_HTTP,
68         _PRV_IME,
69         _PRV_IMEMANAGER,
70         _PRV_INPUTMANAGER,
71         _PRV_LOCATION,
72         _PRV_MESSAGING_EMAIL,
73         _PRV_MESSAGING_MMS,
74         _PRV_MESSAGING_SMS,
75         _PRV_NETWORK_ACCOUNT,
76         _PRV_NETWORK_CONNECTION,
77         _PRV_NETWORK_STATISTICS_READ,
78         _PRV_NETWORK_STATISTICS_WRITE,
79         _PRV_NETWORKMANAGER,
80         _PRV_NFC_ADMIN,
81         _PRV_NFC_CARDEMULATION,
82         _PRV_NFC_COMMON,
83         _PRV_NFC_P2P,
84         _PRV_NFC_TAG,
85         _PRV_NOTIFICATION,
86         _PRV_NOTIFICATIONMANAGER,
87         _PRV_PACKAGEINFO,
88         _PRV_PACKAGELICENSEMANAGER,
89         _PRV_PACKAGEMANAGER_INSTALL,
90         _PRV_PACKAGESETTING,
91         _PRV_PLATFORMINFO,
92         _PRV_POWER,
93         _PRV_PUSH,
94         _PRV_SETTING,
95         _PRV_SMSTRIGGER,
96         _PRV_SOCKET,
97         _PRV_SYSTEMINFO,
98         _PRV_SYSTEMSETTING_READ,
99         _PRV_SYSTEMSETTING_WRITE,
100         _PRV_TELEPHONYMANAGER,
101         _PRV_UIMANAGER,
102         _PRV_USERIDENTITY,
103         _PRV_VIBRATOR,
104         _PRV_VIDEORECORDER,
105         _PRV_WAPPUSH,
106         _PRV_WEB_PRIVACY,
107         _PRV_WEB_SERVICE,
108         _PRV_WIFI_ADMIN,
109         _PRV_WIFI_READ,
110         _PRV_WIFI_WIFIDIRECT_ADMIN,
111         _PRV_WIFI_WIFIDIRECT_READ,
112         _PRV_WIFIMANAGER,
113         _PRV_APPWIDGETPROVIDER_INSTALL,
114         _PRV_ACCOUNT_READ,
115         _PRV_ACCOUNT_WRITE,
116         _PRV_USERPROFILE_READ,
117         _PRV_USERPROFILE_WRITE,
118         _PRV_TELEPHONY,
119         _PRV_NETSTATISTICSMANAGER,
120         _PRV_NETWORK_STATISTICS,
121         _PRV_NFCMANAGER,
122         _PRV_BOOKMARK_READ,
123         _PRV_BOOKMARK_WRITE,
124         _PRV_GEOLOCATIONPERMISSION_READ,
125         _PRV_GEOLOCATIONPERMISSION_WRITE,
126         _PRV_LOCKMANAGER,
127         _PRV_SHORTCUT_INSTALL,
128         _PRV_APPMANAGER_KILL,
129         _PRV_PRIVILEGEMANAGER_READ,
130         _PRV_PRIVACYMANAGER_READ,
131         _PRV_PRIVACYMANAGER_WRITE,
132         _PRV_ANTIVIRUS,
133         _PRV_INTERNET,
134         _PRV_MESSAGING_READ,
135         _PRV_MESSAGING_WRITE,
136         _PRV_PACKAGE_INFO,
137         _PRV_PACKAGEMANAGER_INFO,
138         _PRV_PACKAGEMANAGER_SETTING,
139         _PRV_SYSTEM,
140         _PRV_SYSTEMMANAGER,
141         _PRV_SETTINGMANAGER_READ,
142         _PRV_SETTINGMANAGER_WRITE,
143         _PRV_APPMANAGER_CERTIFICATE,
144         _PRV_DATACONTROL_CONSUMER,
145         _PRV_DATASYNC,
146         _PRV_FILESYSTEM_READ,
147         _PRV_FILESYSTEM_WRITE,
148         _PRV_MESSAGEPORT,
149         _PRV_NETWORKBEARERSELECTION,
150         _PRV_APPLICATION_READ,
151         _PRV_LOG,
152         _PRV_MESSAGING_SEND,
153         _PRV_SE,
154         _PRV_SECUREELEMENT,
155         _PRV_SECURESTORAGE_READ,
156         _PRV_SECURESTORAGE_WRITE,
157         _PRV_TIME,
158         _PRV_TIZEN,
159         _PRV_MEDIACAPTURE,
160         _PRV_FULLSCREEN,
161         _PRV_UNLIMITEDSTORAGE,
162         _PRV_TESTAUTOMATION,
163         _PRV_NOTIFICATION_READ,
164         _PRV_NOTIFICATION_WRITE,
165         _PRV_APPMANAGER_SETTING,
166         _PRV_APPLICATION_INFO,
167         _PRV_WEBSETTING,
168         _MAX_PRIVILEGE_ENUM
169 };
170
171 typedef struct
172 {
173         const wchar_t* privilegeString;
174         _Privilege privilege;
175
176 } _PrivilegeStringList;
177
178 const static _PrivilegeStringList privilegeListTable[_MAX_PRIVILEGE_ENUM] =
179 {
180         {L"alarm", _PRV_ALARM},
181         {L"application.kill", _PRV_APPLICATION_KILL},
182         {L"application.launch", _PRV_APPLICATION_LAUNCH},
183         {L"appmanager.launch", _PRV_APPMANAGER_LAUNCH},
184         {L"appsetting", _PRV_APPSETTING},
185         {L"appusage", _PRV_APPUSAGE},
186         {L"audiomanager.route", _PRV_AUDIOMANAGER_ROUTE},
187         {L"audiomanager.session", _PRV_AUDIOMANAGER_SESSION},
188         {L"audiomanager.voipsession", _PRV_AUDIOMANAGER_VOIPSESSION},
189         {L"audiorecorder", _PRV_AUDIORECORDER},
190         {L"bluetooth.admin", _PRV_BLUETOOTH_ADMIN},
191         {L"bluetooth.gap", _PRV_BLUETOOTH_GAP},
192         {L"bluetooth.health", _PRV_BLUETOOTH_HEALTH},
193         {L"bluetooth.opp", _PRV_BLUETOOTH_OPP},
194         {L"bluetooth.spp", _PRV_BLUETOOTH_SPP},
195         {L"bluetoothmanager", _PRV_BLUETOOTHMANAGER},
196         {L"calendar.read", _PRV_CALENDAR_READ},
197         {L"calendar.write", _PRV_CALENDAR_WRITE},
198         {L"callforward", _PRV_CALLFORWARD},
199         {L"callhistory.read", _PRV_CALLHISTORY_READ},
200         {L"callhistory.write", _PRV_CALLHISTORY_WRITE},
201         {L"camera", _PRV_CAMERA},
202         {L"cellbroadcast", _PRV_CELLBROADCAST},
203         {L"certificate.read", _PRV_CERTIFICATE_READ},
204         {L"certificate.write", _PRV_CERTIFICATE_WRITE},
205         {L"contact.read", _PRV_CONTACT_READ},
206         {L"contact.write", _PRV_CONTACT_WRITE},
207         {L"content.read", _PRV_CONTENT_READ},
208         {L"content.write", _PRV_CONTENT_WRITE},
209         {L"customnetaccount", _PRV_CUSTOMNETACCOUNT},
210         {L"dns", _PRV_DNS},
211         {L"download", _PRV_DOWNLOAD},
212         {L"drmservice", _PRV_DRMSERVICE},
213         {L"http", _PRV_HTTP},
214         {L"ime", _PRV_IME},
215         {L"imemanager", _PRV_IMEMANAGER},
216         {L"inputmanager", _PRV_INPUTMANAGER},
217         {L"location", _PRV_LOCATION},
218         {L"messaging.email", _PRV_MESSAGING_EMAIL},
219         {L"messaging.mms", _PRV_MESSAGING_MMS},
220         {L"messaging.sms", _PRV_MESSAGING_SMS},
221         {L"network.account", _PRV_NETWORK_ACCOUNT},
222         {L"network.connection", _PRV_NETWORK_CONNECTION},
223         {L"network.statistics.read", _PRV_NETWORK_STATISTICS_READ},
224         {L"network.statistics.write", _PRV_NETWORK_STATISTICS_WRITE},
225         {L"networkmanager", _PRV_NETWORKMANAGER},
226         {L"nfc.admin", _PRV_NFC_ADMIN},
227         {L"nfc.cardemulation", _PRV_NFC_CARDEMULATION},
228         {L"nfc.common", _PRV_NFC_COMMON},
229         {L"nfc.p2p", _PRV_NFC_P2P},
230         {L"nfc.tag", _PRV_NFC_TAG},
231         {L"notification", _PRV_NOTIFICATION},
232         {L"notificationmanager", _PRV_NOTIFICATIONMANAGER},
233         {L"packageinfo", _PRV_PACKAGEINFO},
234         {L"packagelicensemanager", _PRV_PACKAGELICENSEMANAGER},
235         {L"packagemanager.install", _PRV_PACKAGEMANAGER_INSTALL},
236         {L"packagesetting", _PRV_PACKAGESETTING},
237         {L"platforminfo", _PRV_PLATFORMINFO},
238         {L"power", _PRV_POWER},
239         {L"push", _PRV_PUSH},
240         {L"setting", _PRV_SETTING},
241         {L"smstrigger", _PRV_SMSTRIGGER},
242         {L"socket", _PRV_SOCKET},
243         {L"systeminfo", _PRV_SYSTEMINFO},
244         {L"systemsetting.read", _PRV_SYSTEMSETTING_READ},
245         {L"systemsetting.write", _PRV_SYSTEMSETTING_WRITE},
246         {L"telephonymanager", _PRV_TELEPHONYMANAGER},
247         {L"uimanager", _PRV_UIMANAGER},
248         {L"useridentity", _PRV_USERIDENTITY},
249         {L"vibrator", _PRV_VIBRATOR},
250         {L"videorecorder", _PRV_VIDEORECORDER},
251         {L"wappush", _PRV_WAPPUSH},
252         {L"web.privacy", _PRV_WEB_PRIVACY},
253         {L"web.service", _PRV_WEB_SERVICE},
254         {L"wifi.admin", _PRV_WIFI_ADMIN},
255         {L"wifi.read", _PRV_WIFI_READ},
256         {L"wifi.wifidirect.admin", _PRV_WIFI_WIFIDIRECT_ADMIN},
257         {L"wifi.wifidirect.read", _PRV_WIFI_WIFIDIRECT_READ},
258         {L"wifimanager", _PRV_WIFIMANAGER},
259         {L"appwidgetprovider.install", _PRV_APPWIDGETPROVIDER_INSTALL},
260         {L"account.read", _PRV_ACCOUNT_READ},
261         {L"account.write", _PRV_ACCOUNT_WRITE},
262         {L"userprofile.read", _PRV_USERPROFILE_READ},
263         {L"userprofile.write", _PRV_USERPROFILE_WRITE},
264         {L"telephony", _PRV_TELEPHONY},
265         {L"netstatisticsmanager", _PRV_NETSTATISTICSMANAGER},
266         {L"network.statistics", _PRV_NETWORK_STATISTICS},
267         {L"nfcmanager", _PRV_NFCMANAGER},
268         {L"bookmark.read", _PRV_BOOKMARK_READ},
269         {L"bookmark.write", _PRV_BOOKMARK_WRITE},
270         {L"geolocationpermission.read", _PRV_GEOLOCATIONPERMISSION_READ},
271         {L"geolocationpermission.write", _PRV_GEOLOCATIONPERMISSION_WRITE},
272         {L"lockmanager", _PRV_LOCKMANAGER},
273         {L"shortcut.install", _PRV_SHORTCUT_INSTALL},
274         {L"appmanager.kill", _PRV_APPMANAGER_KILL},
275         {L"privilegemanager.read", _PRV_PRIVILEGEMANAGER_READ},
276         {L"privacymanager.read", _PRV_PRIVACYMANAGER_READ},
277         {L"privacymanager.write", _PRV_PRIVACYMANAGER_WRITE},
278         {L"antivirus", _PRV_ANTIVIRUS},
279         {L"internet", _PRV_INTERNET},
280         {L"messaging.read", _PRV_MESSAGING_READ},
281         {L"messaging.write", _PRV_MESSAGING_WRITE},
282         {L"package.info", _PRV_PACKAGE_INFO},
283         {L"packagemanager.info", _PRV_PACKAGEMANAGER_INFO},
284         {L"packagemanager.setting", _PRV_PACKAGEMANAGER_SETTING},
285         {L"system", _PRV_SYSTEM},
286         {L"systemmanager", _PRV_SYSTEMMANAGER},
287         {L"settingmanager.read", _PRV_SETTINGMANAGER_READ},
288         {L"settingmanager.write", _PRV_SETTINGMANAGER_WRITE},
289         {L"appmanager.certificate", _PRV_APPMANAGER_CERTIFICATE},
290         {L"datacontrol.consumer", _PRV_DATACONTROL_CONSUMER},
291         {L"datasync", _PRV_DATASYNC},
292         {L"filesystem.read", _PRV_FILESYSTEM_READ},
293         {L"filesystem.write", _PRV_FILESYSTEM_WRITE},
294         {L"messageport", _PRV_MESSAGEPORT},
295         {L"networkbearerselection", _PRV_NETWORKBEARERSELECTION},
296         {L"application.read", _PRV_APPLICATION_READ},
297         {L"log", _PRV_LOG},
298         {L"messaging.send", _PRV_MESSAGING_SEND},
299         {L"se", _PRV_SE},
300         {L"secureelement", _PRV_SECUREELEMENT},
301         {L"securestorage.read", _PRV_SECURESTORAGE_READ},
302         {L"securestorage.write", _PRV_SECURESTORAGE_WRITE},
303         {L"time", _PRV_TIME},
304         {L"tizen", _PRV_TIZEN},
305         {L"mediacapture", _PRV_MEDIACAPTURE},
306         {L"fullscreen", _PRV_FULLSCREEN},
307         {L"unlimitedstorage", _PRV_UNLIMITEDSTORAGE},
308         {L"testautomation", _PRV_TESTAUTOMATION},
309         {L"notification.read", _PRV_NOTIFICATION_READ},
310         {L"notification.write", _PRV_NOTIFICATION_WRITE},
311         {L"appmanager.setting", _PRV_APPMANAGER_SETTING},
312         {L"application.info", _PRV_APPLICATION_INFO},
313         {L"websetting", _PRV_WEBSETTING},
314 };
315
316 const static Tizen::Base::_ApiVisibility visibilityLevelListTable[_MAX_PRIVILEGE_ENUM] =
317 {
318         Tizen::Base::_API_VISIBILITY_PUBLIC,    // alarm
319         Tizen::Base::_API_VISIBILITY_PARTNER,   // application.kill
320         Tizen::Base::_API_VISIBILITY_PUBLIC,    // application.launch
321         Tizen::Base::_API_VISIBILITY_PARTNER,   // appmanager.launch
322         Tizen::Base::_API_VISIBILITY_PLATFORM,  // appsetting
323         Tizen::Base::_API_VISIBILITY_PARTNER,   // appusage
324         Tizen::Base::_API_VISIBILITY_PARTNER,   // audiomanager.route
325         Tizen::Base::_API_VISIBILITY_PARTNER,   // audiomanager.session
326         Tizen::Base::_API_VISIBILITY_PARTNER,   // audiomanager.voipsession
327         Tizen::Base::_API_VISIBILITY_PUBLIC,    // audiorecorder
328         Tizen::Base::_API_VISIBILITY_PUBLIC,    // bluetooth.admin
329         Tizen::Base::_API_VISIBILITY_PUBLIC,    // bluetooth.gap
330         Tizen::Base::_API_VISIBILITY_PUBLIC,    // bluetooth.health
331         Tizen::Base::_API_VISIBILITY_PUBLIC,    // bluetooth.opp
332         Tizen::Base::_API_VISIBILITY_PUBLIC,    // bluetooth.spp
333         Tizen::Base::_API_VISIBILITY_PLATFORM,  // bluetoothmanager
334         Tizen::Base::_API_VISIBILITY_PUBLIC,    // calendar.read
335         Tizen::Base::_API_VISIBILITY_PUBLIC,    // calendar.write
336         Tizen::Base::_API_VISIBILITY_PLATFORM,  // callforward
337         Tizen::Base::_API_VISIBILITY_PUBLIC,    // callhistory.read
338         Tizen::Base::_API_VISIBILITY_PUBLIC,    // callhistory.write
339         Tizen::Base::_API_VISIBILITY_PUBLIC,    // camera
340         Tizen::Base::_API_VISIBILITY_PLATFORM,  // cellbroadcast
341         Tizen::Base::_API_VISIBILITY_PARTNER,   // certificate.read
342         Tizen::Base::_API_VISIBILITY_PARTNER,   // certificate.write
343         Tizen::Base::_API_VISIBILITY_PUBLIC,    // contact.read
344         Tizen::Base::_API_VISIBILITY_PUBLIC,    // contact.write
345         Tizen::Base::_API_VISIBILITY_PUBLIC,    // content.read
346         Tizen::Base::_API_VISIBILITY_PUBLIC,    // content.write
347         Tizen::Base::_API_VISIBILITY_PARTNER,   // customnetaccount
348         Tizen::Base::_API_VISIBILITY_PUBLIC,    // dns
349         Tizen::Base::_API_VISIBILITY_PUBLIC,    // download
350         Tizen::Base::_API_VISIBILITY_PARTNER,   // drmservice
351         Tizen::Base::_API_VISIBILITY_PUBLIC,    // http
352         Tizen::Base::_API_VISIBILITY_PARTNER,   // ime
353         Tizen::Base::_API_VISIBILITY_PLATFORM,  // imemanager
354         Tizen::Base::_API_VISIBILITY_PLATFORM,  // inputmanager
355         Tizen::Base::_API_VISIBILITY_PUBLIC,    // location
356         Tizen::Base::_API_VISIBILITY_PUBLIC,    // messaging.email
357         Tizen::Base::_API_VISIBILITY_PUBLIC,    // messaging.mms
358         Tizen::Base::_API_VISIBILITY_PUBLIC,    // messaging.sms
359         Tizen::Base::_API_VISIBILITY_PUBLIC,    // network.account
360         Tizen::Base::_API_VISIBILITY_PUBLIC,    // network.connection
361         Tizen::Base::_API_VISIBILITY_PUBLIC,    // network.statistics.read
362         Tizen::Base::_API_VISIBILITY_PUBLIC,    // network.statistics.write
363         Tizen::Base::_API_VISIBILITY_PLATFORM,  // networkmanager
364         Tizen::Base::_API_VISIBILITY_PUBLIC,    // nfc.admin
365         Tizen::Base::_API_VISIBILITY_PUBLIC,    // nfc.cardemulation
366         Tizen::Base::_API_VISIBILITY_PUBLIC,    // nfc.common
367         Tizen::Base::_API_VISIBILITY_PUBLIC,    // nfc.p2p
368         Tizen::Base::_API_VISIBILITY_PUBLIC,    // nfc.tag
369         Tizen::Base::_API_VISIBILITY_PUBLIC,    // notification
370         Tizen::Base::_API_VISIBILITY_PARTNER,   // notificationmanager
371         Tizen::Base::_API_VISIBILITY_PUBLIC,    // packageinfo
372         Tizen::Base::_API_VISIBILITY_PLATFORM,  // packagelicensemanager
373         Tizen::Base::_API_VISIBILITY_PLATFORM,  // packagemanager.install
374         Tizen::Base::_API_VISIBILITY_PLATFORM,  // packagesetting
375         Tizen::Base::_API_VISIBILITY_PUBLIC,    // platforminfo
376         Tizen::Base::_API_VISIBILITY_PUBLIC,    // power
377         Tizen::Base::_API_VISIBILITY_PUBLIC,    // push
378         Tizen::Base::_API_VISIBILITY_PUBLIC,    // setting
379         Tizen::Base::_API_VISIBILITY_PARTNER,   // smstrigger
380         Tizen::Base::_API_VISIBILITY_PUBLIC,    // socket
381         Tizen::Base::_API_VISIBILITY_PUBLIC,    // systeminfo
382         Tizen::Base::_API_VISIBILITY_PLATFORM,  // systemsetting.read
383         Tizen::Base::_API_VISIBILITY_PLATFORM,  // systemsetting.write
384         Tizen::Base::_API_VISIBILITY_PLATFORM,  // telephonymanager
385         Tizen::Base::_API_VISIBILITY_PLATFORM,  // uimanager
386         Tizen::Base::_API_VISIBILITY_PARTNER,   // useridentity
387         Tizen::Base::_API_VISIBILITY_PUBLIC,    // vibrator
388         Tizen::Base::_API_VISIBILITY_PUBLIC,    // videorecorder
389         Tizen::Base::_API_VISIBILITY_PLATFORM,  // wappush
390         Tizen::Base::_API_VISIBILITY_PUBLIC,    // web.privacy
391         Tizen::Base::_API_VISIBILITY_PUBLIC,    // web.service
392         Tizen::Base::_API_VISIBILITY_PUBLIC,    // wifi.admin
393         Tizen::Base::_API_VISIBILITY_PUBLIC,    // wifi.read
394         Tizen::Base::_API_VISIBILITY_PUBLIC,    // wifi.wifidirect.admin
395         Tizen::Base::_API_VISIBILITY_PUBLIC,    // wifi.wifidirect.read
396         Tizen::Base::_API_VISIBILITY_PLATFORM,  // wifimanager
397         Tizen::Base::_API_VISIBILITY_PUBLIC,    // appwidgetprovider.install
398         Tizen::Base::_API_VISIBILITY_PUBLIC,    // account.read
399         Tizen::Base::_API_VISIBILITY_PUBLIC,    // account.write
400         Tizen::Base::_API_VISIBILITY_PUBLIC,    // userprofile.read
401         Tizen::Base::_API_VISIBILITY_PUBLIC,    // userprofile.write
402         Tizen::Base::_API_VISIBILITY_PUBLIC,    // telephony
403         Tizen::Base::_API_VISIBILITY_PLATFORM,  // netstatisticsmanager
404         Tizen::Base::_API_VISIBILITY_PUBLIC,    // network.statistics
405         Tizen::Base::_API_VISIBILITY_PLATFORM,  // nfcmanager
406         Tizen::Base::_API_VISIBILITY_PLATFORM,  // bookmark.read
407         Tizen::Base::_API_VISIBILITY_PLATFORM,  // bookmark.write
408         Tizen::Base::_API_VISIBILITY_PLATFORM,  // geolocationpermission.read
409         Tizen::Base::_API_VISIBILITY_PLATFORM,  // geolocationpermission.write
410         Tizen::Base::_API_VISIBILITY_PLATFORM,  // lockmanager
411         Tizen::Base::_API_VISIBILITY_PUBLIC,    // shortcut.install
412         Tizen::Base::_API_VISIBILITY_PARTNER,   // appmanager.kill
413         Tizen::Base::_API_VISIBILITY_PARTNER,   // privilegemanager.read
414         Tizen::Base::_API_VISIBILITY_PLATFORM,  // privacymanager.read
415         Tizen::Base::_API_VISIBILITY_PLATFORM,  // privacymanager.write
416         Tizen::Base::_API_VISIBILITY_PLATFORM,  // antivirus
417         Tizen::Base::_API_VISIBILITY_PUBLIC,    // internet
418         Tizen::Base::_API_VISIBILITY_PUBLIC,    // messaging.read
419         Tizen::Base::_API_VISIBILITY_PUBLIC,    // messaging.write
420         Tizen::Base::_API_VISIBILITY_PUBLIC,    // package.info
421         Tizen::Base::_API_VISIBILITY_PLATFORM,  // packagemanager.info
422         Tizen::Base::_API_VISIBILITY_PLATFORM,  // packagemanager.setting
423         Tizen::Base::_API_VISIBILITY_PUBLIC,    // system
424         Tizen::Base::_API_VISIBILITY_PARTNER,   // systemmanager
425         Tizen::Base::_API_VISIBILITY_PLATFORM,  // settingmanager.read
426         Tizen::Base::_API_VISIBILITY_PLATFORM,  // settingmanager.write
427         Tizen::Base::_API_VISIBILITY_PARTNER,   // appmanager.certificate
428         Tizen::Base::_API_VISIBILITY_PARTNER,   // datacontrol.consumer
429         Tizen::Base::_API_VISIBILITY_PUBLIC,    // datasync
430         Tizen::Base::_API_VISIBILITY_PUBLIC,    // filesystem.read
431         Tizen::Base::_API_VISIBILITY_PUBLIC,    // filesystem.write
432         Tizen::Base::_API_VISIBILITY_PARTNER,   // messageport
433         Tizen::Base::_API_VISIBILITY_PARTNER,   // networkbearerselection
434         Tizen::Base::_API_VISIBILITY_PARTNER,   // application.read
435         Tizen::Base::_API_VISIBILITY_PUBLIC,    // log
436         Tizen::Base::_API_VISIBILITY_PUBLIC,    // messaging.send
437         Tizen::Base::_API_VISIBILITY_PUBLIC,    // se
438         Tizen::Base::_API_VISIBILITY_PUBLIC,    // secureelement
439         Tizen::Base::_API_VISIBILITY_PUBLIC,    // securestorage.read
440         Tizen::Base::_API_VISIBILITY_PUBLIC,    // securestorage.write
441         Tizen::Base::_API_VISIBILITY_PUBLIC,    // time
442         Tizen::Base::_API_VISIBILITY_PUBLIC,    // tizen
443         Tizen::Base::_API_VISIBILITY_PUBLIC,    // mediacapture
444         Tizen::Base::_API_VISIBILITY_PUBLIC,    // fullscreen
445         Tizen::Base::_API_VISIBILITY_PUBLIC,    // unlimitedstorage
446         Tizen::Base::_API_VISIBILITY_PLATFORM,  // testautomation
447         Tizen::Base::_API_VISIBILITY_PUBLIC,    // notification.read
448         Tizen::Base::_API_VISIBILITY_PUBLIC,    // notification.write
449         Tizen::Base::_API_VISIBILITY_PLATFORM,  // appmanager.setting
450         Tizen::Base::_API_VISIBILITY_PUBLIC,    // application.info
451         Tizen::Base::_API_VISIBILITY_PUBLIC,    // websetting
452 };
453
454 const static bool privacyListTable[_MAX_PRIVILEGE_ENUM] =
455 {
456         false,  // alarm
457         false,  // application.kill
458         false,  // application.launch
459         false,  // appmanager.launch
460         false,  // appsetting
461         false,  // appusage
462         false,  // audiomanager.route
463         false,  // audiomanager.session
464         false,  // audiomanager.voipsession
465         false,  // audiorecorder
466         true,   // bluetooth.admin
467         true,   // bluetooth.gap
468         true,   // bluetooth.health
469         true,   // bluetooth.opp
470         true,   // bluetooth.spp
471         true,   // bluetoothmanager
472         true,   // calendar.read
473         true,   // calendar.write
474         false,  // callforward
475         true,   // callhistory.read
476         true,   // callhistory.write
477         false,  // camera
478         false,  // cellbroadcast
479         false,  // certificate.read
480         false,  // certificate.write
481         true,   // contact.read
482         true,   // contact.write
483         false,  // content.read
484         false,  // content.write
485         false,  // customnetaccount
486         false,  // dns
487         false,  // download
488         false,  // drmservice
489         false,  // http
490         false,  // ime
491         false,  // imemanager
492         false,  // inputmanager
493         true,   // location
494         true,   // messaging.email
495         true,   // messaging.mms
496         true,   // messaging.sms
497         false,  // network.account
498         false,  // network.connection
499         false,  // network.statistics.read
500         false,  // network.statistics.write
501         false,  // networkmanager
502         true,   // nfc.admin
503         false,  // nfc.cardemulation
504         true,   // nfc.common
505         true,   // nfc.p2p
506         true,   // nfc.tag
507         false,  // notification
508         false,  // notificationmanager
509         false,  // packageinfo
510         false,  // packagelicensemanager
511         false,  // packagemanager.install
512         false,  // packagesetting
513         false,  // platforminfo
514         false,  // power
515         false,  // push
516         false,  // setting
517         false,  // smstrigger
518         false,  // socket
519         false,  // systeminfo
520         false,  // systemsetting.read
521         false,  // systemsetting.write
522         false,  // telephonymanager
523         false,  // uimanager
524         false,  // useridentity
525         false,  // vibrator
526         false,  // videorecorder
527         false,  // wappush
528         false,  // web.privacy
529         false,  // web.service
530         false,  // wifi.admin
531         false,  // wifi.read
532         true,   // wifi.wifidirect.admin
533         true,   // wifi.wifidirect.read
534         false,  // wifimanager
535         false,  // appwidgetprovider.install
536         true,   // account.read
537         true,   // account.write
538         true,   // userprofile.read
539         true,   // userprofile.write
540         false,  // telephony
541         false,  // netstatisticsmanager
542         false,  // network.statistics
543         false,  // nfcmanager
544         false,  // bookmark.read
545         false,  // bookmark.write
546         false,  // geolocationpermission.read
547         false,  // geolocationpermission.write
548         false,  // lockmanager
549         false,  // shortcut.install
550         false,  // appmanager.kill
551         false,  // privilegemanager.read
552         false,  // privacymanager.read
553         false,  // privacymanager.write
554         false,  // antivirus
555         false,  // internet
556         true,   // messaging.read
557         true,   // messaging.write
558         false,  // package.info
559         false,  // packagemanager.info
560         false,  // packagemanager.setting
561         false,  // system
562         false,  // systemmanager
563         false,  // settingmanager.read
564         false,  // settingmanager.write
565         false,  // appmanager.certificate
566         false,  // datacontrol.consumer
567         false,  // datasync
568         false,  // filesystem.read
569         false,  // filesystem.write
570         false,  // messageport
571         false,  // networkbearerselection
572         false,  // application.read
573         false,  // log
574         true,   // messaging.send
575         false,  // se
576         false,  // secureelement
577         false,  // securestorage.read
578         false,  // securestorage.write
579         false,  // time
580         false,  // tizen
581         false,  // mediacapture
582         false,  // fullscreen
583         false,  // unlimitedstorage
584         false,  // testautomation
585         false,  // notification.read
586         false,  // notification.write
587         false,  // appmanager.setting
588         false,  // application.info
589         false,  // websetting
590 };
591
592 const int MAX_BITWISE_PRIV_SIZE = (((_MAX_PRIVILEGE_ENUM - 1) / 32) + 1) * 4;
593 const int MAX_APP_ID_SIZE = 10;
594
595 const int _KEY_LEN = 16;
596 const int _IV_LEN = 16;
597 const int _INFO_LEN = 16;
598 const int _BITS_IN_BYTE = 8;
599
600 };
601 } // Tizen::Security
602
603 #endif // _FSEC_INTERNAL_ACCESS_CONTROL_TYPES_H_