2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
8 // http://www.apache.org/licenses/LICENSE-2.0
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.
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.
23 #ifndef _FSEC_INTERNAL_ACCESS_CONTROL_TYPES_H_
24 #define _FSEC_INTERNAL_ACCESS_CONTROL_TYPES_H_
26 #include <FAppTypes.h>
27 #include <FBaseInternalTypes.h>
29 namespace Tizen { namespace Security
35 _PRV_APPLICATION_KILL,
36 _PRV_APPLICATION_LAUNCH,
37 _PRV_APPMANAGER_LAUNCH,
40 _PRV_AUDIOMANAGER_ROUTE,
41 _PRV_AUDIOMANAGER_SESSION,
42 _PRV_AUDIOMANAGER_VOIPSESSION,
46 _PRV_BLUETOOTH_HEALTH,
49 _PRV_BLUETOOTHMANAGER,
53 _PRV_CALLHISTORY_READ,
54 _PRV_CALLHISTORY_WRITE,
57 _PRV_CERTIFICATE_READ,
58 _PRV_CERTIFICATE_WRITE,
63 _PRV_CUSTOMNETACCOUNT,
76 _PRV_NETWORK_CONNECTION,
77 _PRV_NETWORK_STATISTICS_READ,
78 _PRV_NETWORK_STATISTICS_WRITE,
81 _PRV_NFC_CARDEMULATION,
86 _PRV_NOTIFICATIONMANAGER,
88 _PRV_PACKAGELICENSEMANAGER,
89 _PRV_PACKAGEMANAGER_INSTALL,
98 _PRV_SYSTEMSETTING_READ,
99 _PRV_SYSTEMSETTING_WRITE,
100 _PRV_TELEPHONYMANAGER,
110 _PRV_WIFI_WIFIDIRECT_ADMIN,
111 _PRV_WIFI_WIFIDIRECT_READ,
113 _PRV_APPWIDGETPROVIDER_INSTALL,
116 _PRV_USERPROFILE_READ,
117 _PRV_USERPROFILE_WRITE,
119 _PRV_NETSTATISTICSMANAGER,
120 _PRV_NETWORK_STATISTICS,
124 _PRV_GEOLOCATIONPERMISSION_READ,
125 _PRV_GEOLOCATIONPERMISSION_WRITE,
127 _PRV_SHORTCUT_INSTALL,
128 _PRV_APPMANAGER_KILL,
129 _PRV_PRIVILEGEMANAGER_READ,
130 _PRV_PRIVACYMANAGER_READ,
131 _PRV_PRIVACYMANAGER_WRITE,
135 _PRV_MESSAGING_WRITE,
137 _PRV_PACKAGEMANAGER_INFO,
138 _PRV_PACKAGEMANAGER_SETTING,
141 _PRV_SETTINGMANAGER_READ,
142 _PRV_SETTINGMANAGER_WRITE,
143 _PRV_APPMANAGER_CERTIFICATE,
144 _PRV_DATACONTROL_CONSUMER,
146 _PRV_FILESYSTEM_READ,
147 _PRV_FILESYSTEM_WRITE,
149 _PRV_NETWORKBEARERSELECTION,
150 _PRV_APPLICATION_READ,
155 _PRV_SECURESTORAGE_READ,
156 _PRV_SECURESTORAGE_WRITE,
161 _PRV_UNLIMITEDSTORAGE,
163 _PRV_NOTIFICATION_READ,
164 _PRV_NOTIFICATION_WRITE,
165 _PRV_APPMANAGER_SETTING,
166 _PRV_APPLICATION_INFO,
172 const wchar_t* privilegeString;
173 _Privilege privilege;
175 } _PrivilegeStringList;
177 const static _PrivilegeStringList privilegeListTable[_MAX_PRIVILEGE_ENUM] =
179 {L"alarm", _PRV_ALARM},
180 {L"application.kill", _PRV_APPLICATION_KILL},
181 {L"application.launch", _PRV_APPLICATION_LAUNCH},
182 {L"appmanager.launch", _PRV_APPMANAGER_LAUNCH},
183 {L"appsetting", _PRV_APPSETTING},
184 {L"appusage", _PRV_APPUSAGE},
185 {L"audiomanager.route", _PRV_AUDIOMANAGER_ROUTE},
186 {L"audiomanager.session", _PRV_AUDIOMANAGER_SESSION},
187 {L"audiomanager.voipsession", _PRV_AUDIOMANAGER_VOIPSESSION},
188 {L"audiorecorder", _PRV_AUDIORECORDER},
189 {L"bluetooth.admin", _PRV_BLUETOOTH_ADMIN},
190 {L"bluetooth.gap", _PRV_BLUETOOTH_GAP},
191 {L"bluetooth.health", _PRV_BLUETOOTH_HEALTH},
192 {L"bluetooth.opp", _PRV_BLUETOOTH_OPP},
193 {L"bluetooth.spp", _PRV_BLUETOOTH_SPP},
194 {L"bluetoothmanager", _PRV_BLUETOOTHMANAGER},
195 {L"calendar.read", _PRV_CALENDAR_READ},
196 {L"calendar.write", _PRV_CALENDAR_WRITE},
197 {L"callforward", _PRV_CALLFORWARD},
198 {L"callhistory.read", _PRV_CALLHISTORY_READ},
199 {L"callhistory.write", _PRV_CALLHISTORY_WRITE},
200 {L"camera", _PRV_CAMERA},
201 {L"cellbroadcast", _PRV_CELLBROADCAST},
202 {L"certificate.read", _PRV_CERTIFICATE_READ},
203 {L"certificate.write", _PRV_CERTIFICATE_WRITE},
204 {L"contact.read", _PRV_CONTACT_READ},
205 {L"contact.write", _PRV_CONTACT_WRITE},
206 {L"content.read", _PRV_CONTENT_READ},
207 {L"content.write", _PRV_CONTENT_WRITE},
208 {L"customnetaccount", _PRV_CUSTOMNETACCOUNT},
210 {L"download", _PRV_DOWNLOAD},
211 {L"drmservice", _PRV_DRMSERVICE},
212 {L"http", _PRV_HTTP},
214 {L"imemanager", _PRV_IMEMANAGER},
215 {L"inputmanager", _PRV_INPUTMANAGER},
216 {L"location", _PRV_LOCATION},
217 {L"messaging.email", _PRV_MESSAGING_EMAIL},
218 {L"messaging.mms", _PRV_MESSAGING_MMS},
219 {L"messaging.sms", _PRV_MESSAGING_SMS},
220 {L"network.account", _PRV_NETWORK_ACCOUNT},
221 {L"network.connection", _PRV_NETWORK_CONNECTION},
222 {L"network.statistics.read", _PRV_NETWORK_STATISTICS_READ},
223 {L"network.statistics.write", _PRV_NETWORK_STATISTICS_WRITE},
224 {L"networkmanager", _PRV_NETWORKMANAGER},
225 {L"nfc.admin", _PRV_NFC_ADMIN},
226 {L"nfc.cardemulation", _PRV_NFC_CARDEMULATION},
227 {L"nfc.common", _PRV_NFC_COMMON},
228 {L"nfc.p2p", _PRV_NFC_P2P},
229 {L"nfc.tag", _PRV_NFC_TAG},
230 {L"notification", _PRV_NOTIFICATION},
231 {L"notificationmanager", _PRV_NOTIFICATIONMANAGER},
232 {L"packageinfo", _PRV_PACKAGEINFO},
233 {L"packagelicensemanager", _PRV_PACKAGELICENSEMANAGER},
234 {L"packagemanager.install", _PRV_PACKAGEMANAGER_INSTALL},
235 {L"packagesetting", _PRV_PACKAGESETTING},
236 {L"platforminfo", _PRV_PLATFORMINFO},
237 {L"power", _PRV_POWER},
238 {L"push", _PRV_PUSH},
239 {L"setting", _PRV_SETTING},
240 {L"smstrigger", _PRV_SMSTRIGGER},
241 {L"socket", _PRV_SOCKET},
242 {L"systeminfo", _PRV_SYSTEMINFO},
243 {L"systemsetting.read", _PRV_SYSTEMSETTING_READ},
244 {L"systemsetting.write", _PRV_SYSTEMSETTING_WRITE},
245 {L"telephonymanager", _PRV_TELEPHONYMANAGER},
246 {L"uimanager", _PRV_UIMANAGER},
247 {L"useridentity", _PRV_USERIDENTITY},
248 {L"vibrator", _PRV_VIBRATOR},
249 {L"videorecorder", _PRV_VIDEORECORDER},
250 {L"wappush", _PRV_WAPPUSH},
251 {L"web.privacy", _PRV_WEB_PRIVACY},
252 {L"web.service", _PRV_WEB_SERVICE},
253 {L"wifi.admin", _PRV_WIFI_ADMIN},
254 {L"wifi.read", _PRV_WIFI_READ},
255 {L"wifi.wifidirect.admin", _PRV_WIFI_WIFIDIRECT_ADMIN},
256 {L"wifi.wifidirect.read", _PRV_WIFI_WIFIDIRECT_READ},
257 {L"wifimanager", _PRV_WIFIMANAGER},
258 {L"appwidgetprovider.install", _PRV_APPWIDGETPROVIDER_INSTALL},
259 {L"account.read", _PRV_ACCOUNT_READ},
260 {L"account.write", _PRV_ACCOUNT_WRITE},
261 {L"userprofile.read", _PRV_USERPROFILE_READ},
262 {L"userprofile.write", _PRV_USERPROFILE_WRITE},
263 {L"telephony", _PRV_TELEPHONY},
264 {L"netstatisticsmanager", _PRV_NETSTATISTICSMANAGER},
265 {L"network.statistics", _PRV_NETWORK_STATISTICS},
266 {L"nfcmanager", _PRV_NFCMANAGER},
267 {L"bookmark.read", _PRV_BOOKMARK_READ},
268 {L"bookmark.write", _PRV_BOOKMARK_WRITE},
269 {L"geolocationpermission.read", _PRV_GEOLOCATIONPERMISSION_READ},
270 {L"geolocationpermission.write", _PRV_GEOLOCATIONPERMISSION_WRITE},
271 {L"lockmanager", _PRV_LOCKMANAGER},
272 {L"shortcut.install", _PRV_SHORTCUT_INSTALL},
273 {L"appmanager.kill", _PRV_APPMANAGER_KILL},
274 {L"privilegemanager.read", _PRV_PRIVILEGEMANAGER_READ},
275 {L"privacymanager.read", _PRV_PRIVACYMANAGER_READ},
276 {L"privacymanager.write", _PRV_PRIVACYMANAGER_WRITE},
277 {L"antivirus", _PRV_ANTIVIRUS},
278 {L"internet", _PRV_INTERNET},
279 {L"messaging.read", _PRV_MESSAGING_READ},
280 {L"messaging.write", _PRV_MESSAGING_WRITE},
281 {L"package.info", _PRV_PACKAGE_INFO},
282 {L"packagemanager.info", _PRV_PACKAGEMANAGER_INFO},
283 {L"packagemanager.setting", _PRV_PACKAGEMANAGER_SETTING},
284 {L"system", _PRV_SYSTEM},
285 {L"systemmanager", _PRV_SYSTEMMANAGER},
286 {L"settingmanager.read", _PRV_SETTINGMANAGER_READ},
287 {L"settingmanager.write", _PRV_SETTINGMANAGER_WRITE},
288 {L"appmanager.certificate", _PRV_APPMANAGER_CERTIFICATE},
289 {L"datacontrol.consumer", _PRV_DATACONTROL_CONSUMER},
290 {L"datasync", _PRV_DATASYNC},
291 {L"filesystem.read", _PRV_FILESYSTEM_READ},
292 {L"filesystem.write", _PRV_FILESYSTEM_WRITE},
293 {L"messageport", _PRV_MESSAGEPORT},
294 {L"networkbearerselection", _PRV_NETWORKBEARERSELECTION},
295 {L"application.read", _PRV_APPLICATION_READ},
297 {L"messaging.send", _PRV_MESSAGING_SEND},
299 {L"secureelement", _PRV_SECUREELEMENT},
300 {L"securestorage.read", _PRV_SECURESTORAGE_READ},
301 {L"securestorage.write", _PRV_SECURESTORAGE_WRITE},
302 {L"time", _PRV_TIME},
303 {L"tizen", _PRV_TIZEN},
304 {L"mediacapture", _PRV_MEDIACAPTURE},
305 {L"fullscreen", _PRV_FULLSCREEN},
306 {L"unlimitedstorage", _PRV_UNLIMITEDSTORAGE},
307 {L"testautomation", _PRV_TESTAUTOMATION},
308 {L"notification.read", _PRV_NOTIFICATION_READ},
309 {L"notification.write", _PRV_NOTIFICATION_WRITE},
310 {L"appmanager.setting", _PRV_APPMANAGER_SETTING},
311 {L"application.info", _PRV_APPLICATION_INFO},
314 enum _PrivilegeApiVersion
316 _PRV_API_VER_2_0 = 0,
320 const static Tizen::Base::_ApiVisibility visibilityLevelListTable[_MAX_PRIVILEGE_ENUM][_PRV_API_VER_MAX] =
322 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // alarm
323 { Tizen::Base::_API_VISIBILITY_PARTNER }, // application.kill
324 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // application.launch
325 { Tizen::Base::_API_VISIBILITY_PARTNER }, // appmanager.launch
326 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // appsetting
327 { Tizen::Base::_API_VISIBILITY_PARTNER }, // appusage
328 { Tizen::Base::_API_VISIBILITY_PARTNER }, // audiomanager.route
329 { Tizen::Base::_API_VISIBILITY_PARTNER }, // audiomanager.session
330 { Tizen::Base::_API_VISIBILITY_PARTNER }, // audiomanager.voipsession
331 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // audiorecorder
332 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // bluetooth.admin
333 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // bluetooth.gap
334 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // bluetooth.health
335 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // bluetooth.opp
336 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // bluetooth.spp
337 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // bluetoothmanager
338 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // calendar.read
339 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // calendar.write
340 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // callforward
341 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // callhistory.read
342 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // callhistory.write
343 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // camera
344 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // cellbroadcast
345 { Tizen::Base::_API_VISIBILITY_PARTNER }, // certificate.read
346 { Tizen::Base::_API_VISIBILITY_PARTNER }, // certificate.write
347 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // contact.read
348 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // contact.write
349 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // content.read
350 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // content.write
351 { Tizen::Base::_API_VISIBILITY_PARTNER }, // customnetaccount
352 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // dns
353 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // download
354 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // drmservice
355 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // http
356 { Tizen::Base::_API_VISIBILITY_PARTNER }, // ime
357 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // imemanager
358 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // inputmanager
359 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // location
360 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // messaging.email
361 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // messaging.mms
362 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // messaging.sms
363 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // network.account
364 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // network.connection
365 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // network.statistics.read
366 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // network.statistics.write
367 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // networkmanager
368 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // nfc.admin
369 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // nfc.cardemulation
370 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // nfc.common
371 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // nfc.p2p
372 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // nfc.tag
373 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // notification
374 { Tizen::Base::_API_VISIBILITY_PARTNER }, // notificationmanager
375 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // packageinfo
376 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // packagelicensemanager
377 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // packagemanager.install
378 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // packagesetting
379 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // platforminfo
380 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // power
381 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // push
382 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // setting
383 { Tizen::Base::_API_VISIBILITY_PARTNER }, // smstrigger
384 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // socket
385 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // systeminfo
386 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // systemsetting.read
387 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // systemsetting.write
388 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // telephonymanager
389 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // uimanager
390 { Tizen::Base::_API_VISIBILITY_PARTNER }, // useridentity
391 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // vibrator
392 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // videorecorder
393 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // wappush
394 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // web.privacy
395 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // web.service
396 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // wifi.admin
397 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // wifi.read
398 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // wifi.wifidirect.admin
399 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // wifi.wifidirect.read
400 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // wifimanager
401 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // appwidgetprovider.install
402 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // account.read
403 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // account.write
404 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // userprofile.read
405 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // userprofile.write
406 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // telephony
407 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // netstatisticsmanager
408 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // network.statistics
409 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // nfcmanager
410 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // bookmark.read
411 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // bookmark.write
412 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // geolocationpermission.read
413 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // geolocationpermission.write
414 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // lockmanager
415 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // shortcut.install
416 { Tizen::Base::_API_VISIBILITY_PARTNER }, // appmanager.kill
417 { Tizen::Base::_API_VISIBILITY_PARTNER }, // privilegemanager.read
418 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // privacymanager.read
419 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // privacymanager.write
420 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // antivirus
421 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // internet
422 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // messaging.read
423 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // messaging.write
424 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // package.info
425 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // packagemanager.info
426 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // packagemanager.setting
427 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // system
428 { Tizen::Base::_API_VISIBILITY_PARTNER }, // systemmanager
429 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // settingmanager.read
430 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // settingmanager.write
431 { Tizen::Base::_API_VISIBILITY_PARTNER }, // appmanager.certificate
432 { Tizen::Base::_API_VISIBILITY_PARTNER }, // datacontrol.consumer
433 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // datasync
434 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // filesystem.read
435 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // filesystem.write
436 { Tizen::Base::_API_VISIBILITY_PARTNER }, // messageport
437 { Tizen::Base::_API_VISIBILITY_PARTNER }, // networkbearerselection
438 { Tizen::Base::_API_VISIBILITY_PARTNER }, // application.read
439 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // log
440 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // messaging.send
441 { Tizen::Base::_API_VISIBILITY_PARTNER }, // se
442 { Tizen::Base::_API_VISIBILITY_PARTNER }, // secureelement
443 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // securestorage.read
444 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // securestorage.write
445 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // time
446 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // tizen
447 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // mediacapture
448 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // fullscreen
449 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // unlimitedstorage
450 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // testautomation
451 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // notification.read
452 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // notification.write
453 { Tizen::Base::_API_VISIBILITY_PLATFORM }, // appmanager.setting
454 { Tizen::Base::_API_VISIBILITY_PUBLIC }, // application.info
463 const static _PrivilegeLevel privilegeLevelListTable[_MAX_PRIVILEGE_ENUM][_PRV_API_VER_MAX] =
465 { _PRV_LEVEL_USER }, // alarm
466 { _PRV_LEVEL_SYSTEM }, // application.kill
467 { _PRV_LEVEL_USER }, // application.launch
468 { _PRV_LEVEL_SYSTEM }, // appmanager.launch
469 { _PRV_LEVEL_USER }, // appsetting
470 { _PRV_LEVEL_USER }, // appusage
471 { _PRV_LEVEL_USER }, // audiomanager.route
472 { _PRV_LEVEL_USER }, // audiomanager.session
473 { _PRV_LEVEL_USER }, // audiomanager.voipsession
474 { _PRV_LEVEL_USER }, // audiorecorder
475 { _PRV_LEVEL_USER }, // bluetooth.admin
476 { _PRV_LEVEL_USER }, // bluetooth.gap
477 { _PRV_LEVEL_USER }, // bluetooth.health
478 { _PRV_LEVEL_USER }, // bluetooth.opp
479 { _PRV_LEVEL_USER }, // bluetooth.spp
480 { _PRV_LEVEL_SYSTEM }, // bluetoothmanager
481 { _PRV_LEVEL_USER }, // calendar.read
482 { _PRV_LEVEL_USER }, // calendar.write
483 { _PRV_LEVEL_SYSTEM }, // callforward
484 { _PRV_LEVEL_USER }, // callhistory.read
485 { _PRV_LEVEL_USER }, // callhistory.write
486 { _PRV_LEVEL_USER }, // camera
487 { _PRV_LEVEL_USER }, // cellbroadcast
488 { _PRV_LEVEL_SYSTEM }, // certificate.read
489 { _PRV_LEVEL_SYSTEM }, // certificate.write
490 { _PRV_LEVEL_USER }, // contact.read
491 { _PRV_LEVEL_USER }, // contact.write
492 { _PRV_LEVEL_USER }, // content.read
493 { _PRV_LEVEL_USER }, // content.write
494 { _PRV_LEVEL_USER }, // customnetaccount
495 { _PRV_LEVEL_USER }, // dns
496 { _PRV_LEVEL_USER }, // download
497 { _PRV_LEVEL_USER }, // drmservice
498 { _PRV_LEVEL_USER }, // http
499 { _PRV_LEVEL_USER }, // ime
500 { _PRV_LEVEL_SYSTEM }, // imemanager
501 { _PRV_LEVEL_USER }, // inputmanager
502 { _PRV_LEVEL_USER }, // location
503 { _PRV_LEVEL_USER }, // messaging.email
504 { _PRV_LEVEL_USER }, // messaging.mms
505 { _PRV_LEVEL_USER }, // messaging.sms
506 { _PRV_LEVEL_USER }, // network.account
507 { _PRV_LEVEL_USER }, // network.connection
508 { _PRV_LEVEL_USER }, // network.statistics.read
509 { _PRV_LEVEL_USER }, // network.statistics.write
510 { _PRV_LEVEL_SYSTEM }, // networkmanager
511 { _PRV_LEVEL_USER }, // nfc.admin
512 { _PRV_LEVEL_USER }, // nfc.cardemulation
513 { _PRV_LEVEL_USER }, // nfc.common
514 { _PRV_LEVEL_USER }, // nfc.p2p
515 { _PRV_LEVEL_USER }, // nfc.tag
516 { _PRV_LEVEL_USER }, // notification
517 { _PRV_LEVEL_USER }, // notificationmanager
518 { _PRV_LEVEL_USER }, // packageinfo
519 { _PRV_LEVEL_USER }, // packagelicensemanager
520 { _PRV_LEVEL_SYSTEM }, // packagemanager.install
521 { _PRV_LEVEL_USER }, // packagesetting
522 { _PRV_LEVEL_USER }, // platforminfo
523 { _PRV_LEVEL_USER }, // power
524 { _PRV_LEVEL_USER }, // push
525 { _PRV_LEVEL_USER }, // setting
526 { _PRV_LEVEL_USER }, // smstrigger
527 { _PRV_LEVEL_USER }, // socket
528 { _PRV_LEVEL_USER }, // systeminfo
529 { _PRV_LEVEL_SYSTEM }, // systemsetting.read
530 { _PRV_LEVEL_SYSTEM }, // systemsetting.write
531 { _PRV_LEVEL_SYSTEM }, // telephonymanager
532 { _PRV_LEVEL_SYSTEM }, // uimanager
533 { _PRV_LEVEL_SYSTEM }, // useridentity
534 { _PRV_LEVEL_USER }, // vibrator
535 { _PRV_LEVEL_USER }, // videorecorder
536 { _PRV_LEVEL_USER }, // wappush
537 { _PRV_LEVEL_USER }, // web.privacy
538 { _PRV_LEVEL_USER }, // web.service
539 { _PRV_LEVEL_USER }, // wifi.admin
540 { _PRV_LEVEL_USER }, // wifi.read
541 { _PRV_LEVEL_USER }, // wifi.wifidirect.admin
542 { _PRV_LEVEL_USER }, // wifi.wifidirect.read
543 { _PRV_LEVEL_SYSTEM }, // wifimanager
544 { _PRV_LEVEL_USER }, // appwidgetprovider.install
545 { _PRV_LEVEL_USER }, // account.read
546 { _PRV_LEVEL_USER }, // account.write
547 { _PRV_LEVEL_USER }, // userprofile.read
548 { _PRV_LEVEL_USER }, // userprofile.write
549 { _PRV_LEVEL_USER }, // telephony
550 { _PRV_LEVEL_SYSTEM }, // netstatisticsmanager
551 { _PRV_LEVEL_USER }, // network.statistics
552 { _PRV_LEVEL_SYSTEM }, // nfcmanager
553 { _PRV_LEVEL_SYSTEM }, // bookmark.read
554 { _PRV_LEVEL_SYSTEM }, // bookmark.write
555 { _PRV_LEVEL_SYSTEM }, // geolocationpermission.read
556 { _PRV_LEVEL_SYSTEM }, // geolocationpermission.write
557 { _PRV_LEVEL_SYSTEM }, // lockmanager
558 { _PRV_LEVEL_USER }, // shortcut.install
559 { _PRV_LEVEL_SYSTEM }, // appmanager.kill
560 { _PRV_LEVEL_SYSTEM }, // privilegemanager.read
561 { _PRV_LEVEL_SYSTEM }, // privacymanager.read
562 { _PRV_LEVEL_SYSTEM }, // privacymanager.write
563 { _PRV_LEVEL_SYSTEM }, // antivirus
564 { _PRV_LEVEL_USER }, // internet
565 { _PRV_LEVEL_USER }, // messaging.read
566 { _PRV_LEVEL_USER }, // messaging.write
567 { _PRV_LEVEL_USER }, // package.info
568 { _PRV_LEVEL_SYSTEM }, // packagemanager.info
569 { _PRV_LEVEL_SYSTEM }, // packagemanager.setting
570 { _PRV_LEVEL_USER }, // system
571 { _PRV_LEVEL_USER }, // systemmanager
572 { _PRV_LEVEL_SYSTEM }, // settingmanager.read
573 { _PRV_LEVEL_SYSTEM }, // settingmanager.write
574 { _PRV_LEVEL_USER }, // appmanager.certificate
575 { _PRV_LEVEL_USER }, // datacontrol.consumer
576 { _PRV_LEVEL_USER }, // datasync
577 { _PRV_LEVEL_USER }, // filesystem.read
578 { _PRV_LEVEL_USER }, // filesystem.write
579 { _PRV_LEVEL_USER }, // messageport
580 { _PRV_LEVEL_USER }, // networkbearerselection
581 { _PRV_LEVEL_SYSTEM }, // application.read
582 { _PRV_LEVEL_USER }, // log
583 { _PRV_LEVEL_USER }, // messaging.send
584 { _PRV_LEVEL_SYSTEM }, // se
585 { _PRV_LEVEL_SYSTEM }, // secureelement
586 { _PRV_LEVEL_USER }, // securestorage.read
587 { _PRV_LEVEL_USER }, // securestorage.write
588 { _PRV_LEVEL_USER }, // time
589 { _PRV_LEVEL_USER }, // tizen
590 { _PRV_LEVEL_USER }, // mediacapture
591 { _PRV_LEVEL_USER }, // fullscreen
592 { _PRV_LEVEL_USER }, // unlimitedstorage
593 { _PRV_LEVEL_SYSTEM }, // testautomation
594 { _PRV_LEVEL_USER }, // notification.read
595 { _PRV_LEVEL_USER }, // notification.write
596 { _PRV_LEVEL_SYSTEM }, // appmanager.setting
597 { _PRV_LEVEL_USER }, // application.info
600 const static bool privacyListTable[_MAX_PRIVILEGE_ENUM][_PRV_API_VER_MAX] =
603 { false }, // application.kill
604 { false }, // application.launch
605 { false }, // appmanager.launch
606 { false }, // appsetting
607 { false }, // appusage
608 { false }, // audiomanager.route
609 { false }, // audiomanager.session
610 { false }, // audiomanager.voipsession
611 { false }, // audiorecorder
612 { true }, // bluetooth.admin
613 { true }, // bluetooth.gap
614 { true }, // bluetooth.health
615 { true }, // bluetooth.opp
616 { true }, // bluetooth.spp
617 { true }, // bluetoothmanager
618 { true }, // calendar.read
619 { true }, // calendar.write
620 { false }, // callforward
621 { false }, // callhistory.read
622 { false }, // callhistory.write
624 { false }, // cellbroadcast
625 { false }, // certificate.read
626 { false }, // certificate.write
627 { true }, // contact.read
628 { true }, // contact.write
629 { false }, // content.read
630 { false }, // content.write
631 { false }, // customnetaccount
633 { true }, // download
634 { false }, // drmservice
637 { false }, // imemanager
638 { false }, // inputmanager
639 { true }, // location
640 { true }, // messaging.email
641 { true }, // messaging.mms
642 { true }, // messaging.sms
643 { false }, // network.account
644 { true }, // network.connection
645 { false }, // network.statistics.read
646 { false }, // network.statistics.write
647 { false }, // networkmanager
648 { true }, // nfc.admin
649 { false }, // nfc.cardemulation
650 { true }, // nfc.common
653 { false }, // notification
654 { false }, // notificationmanager
655 { false }, // packageinfo
656 { false }, // packagelicensemanager
657 { false }, // packagemanager.install
658 { false }, // packagesetting
659 { false }, // platforminfo
662 { false }, // setting
663 { false }, // smstrigger
665 { false }, // systeminfo
666 { false }, // systemsetting.read
667 { false }, // systemsetting.write
668 { false }, // telephonymanager
669 { false }, // uimanager
670 { false }, // useridentity
671 { false }, // vibrator
672 { false }, // videorecorder
673 { false }, // wappush
674 { false }, // web.privacy
675 { true }, // web.service
676 { false }, // wifi.admin
677 { false }, // wifi.read
678 { true }, // wifi.wifidirect.admin
679 { true }, // wifi.wifidirect.read
680 { false }, // wifimanager
681 { false }, // appwidgetprovider.install
682 { true }, // account.read
683 { true }, // account.write
684 { true }, // userprofile.read
685 { true }, // userprofile.write
686 { false }, // telephony
687 { false }, // netstatisticsmanager
688 { false }, // network.statistics
689 { false }, // nfcmanager
690 { false }, // bookmark.read
691 { false }, // bookmark.write
692 { false }, // geolocationpermission.read
693 { false }, // geolocationpermission.write
694 { false }, // lockmanager
695 { false }, // shortcut.install
696 { false }, // appmanager.kill
697 { false }, // privilegemanager.read
698 { false }, // privacymanager.read
699 { false }, // privacymanager.write
700 { false }, // antivirus
701 { true }, // internet
702 { true }, // messaging.read
703 { true }, // messaging.write
704 { false }, // package.info
705 { false }, // packagemanager.info
706 { false }, // packagemanager.setting
708 { false }, // systemmanager
709 { false }, // settingmanager.read
710 { false }, // settingmanager.write
711 { false }, // appmanager.certificate
712 { false }, // datacontrol.consumer
713 { false }, // datasync
714 { false }, // filesystem.read
715 { false }, // filesystem.write
716 { false }, // messageport
717 { false }, // networkbearerselection
718 { false }, // application.read
720 { true }, // messaging.send
722 { false }, // secureelement
723 { false }, // securestorage.read
724 { false }, // securestorage.write
727 { false }, // mediacapture
728 { false }, // fullscreen
729 { false }, // unlimitedstorage
730 { false }, // testautomation
731 { false }, // notification.read
732 { false }, // notification.write
733 { false }, // appmanager.setting
734 { false }, // application.info
737 const int MAX_BITWISE_PRIV_SIZE = (((_MAX_PRIVILEGE_ENUM - 1) / 32) + 1) * 4;
738 const int MAX_APP_ID_SIZE = 10;
739 const int MAX_CACHE_SIZE = 20;
740 const int MAX_ACTIVE_CACHE_SIZE = 5;
742 const int _KEY_LEN = 16;
743 const int _IV_LEN = 16;
744 const int _INFO_LEN = 16;
745 const int _BITS_IN_BYTE = 8;
750 #endif // _FSEC_INTERNAL_ACCESS_CONTROL_TYPES_H_