int privilege_db_manager_get_privilege_list(const char* api_version, privilege_db_manager_package_type_e package_type, GList** privilege_list);
+int privilege_db_manager_get_mapped_privilege_list(const char* api_version, privilege_db_manager_package_type_e package_type, GList* privilege_list, GList** mapped_privilege_list);
int privilege_db_manager_get_privilege_display(privilege_db_manager_package_type_e package_type, const char* privilege_name, const char* api_version, char** privilege_display);
*/
EXPORT_API int privilege_manager_verify_privilege(const char* api_version, privilege_manager_package_type_e package_type, GList* privilege_list, privilege_manager_visibility_e visibility, char **error_message);
+
+/**
+ * @brief get mapped privilege list of input privilege list according to the given package type, api version, and profile.
+ * @remarks @a privilege_list must be released with free() by you.
+ * @remarks @a mapped_privilege_list must be released with free() by you.
+ * @param [in] api_version The api version of the application
+ * @param [in] privilege_manager_package_type_e The privilege_manager_package_type_e
+ * @param [in] privilege_list The privilege_list
+ * @param [out] mapped_privilege_list The mapped_privilege_list is assigned when privileges mapped to the given privilege list are exist. Else, mapped_privilege_list is NULL. Mapped privileges are listed according to the given the privilege_list, package_type, api_version, and profile.
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #PRVMGR_ERR_NONE Successful
+ * @retval #PRVMGR_ERR_OUT_OF_MEMORY Out of memory
+ * @retval #PRVMGR_ERR_INVALID_PARAMETER Invalid parameter
+ * @retval #PRVMGR_ERR_INTERNAL_ERROR Internal error
+ */
+EXPORT_API int privilege_manager_get_mapped_privilege_list(const char* api_version, privilege_manager_package_type_e package_type, GList* privilege_list, GList** mapped_privilege_list);
+
+
#ifdef __cplusplus
}
#endif
--- /dev/null
+#!/bin/bash
+
+DB_NAME="core_privilege_mapping.db"
+
+rm $DB_NAME 2> /dev/null
+echo "Creating $DB_NAME ..."
+touch $DB_NAME
+
+echo "Creating PRIVILEGE_MAPPING table ..."
+sqlite3 $DB_NAME "CREATE TABLE PRIVILEGE_MAPPING (PROFILE_ID NUMERIC, PROFILE TEXT, PRIVILEGE_NAME TEXT, FROM_API_VERSION TEXT, TO_API_VERSION TEXT, MAPPED_PRIVILEGE_NAME TEXT);"
+
+echo "Inserting data ..."
+IFS=$'\n'
+for i in `cat core_privilege_mapping.csv`
+do
+ temp=`echo $i | awk '/^#/'`
+ if [ ! "$temp" = "" ]
+ then
+ continue
+ fi
+
+ PROFILE=`echo $i | cut -d "," -f 1`
+ #echo PROFILE = $PROFILE
+
+ if [ "$PROFILE" = "common" ]
+ then
+ PROFILE_ID=0
+
+ elif [ "$PROFILE" = "mobile" ]
+ then
+ PROFILE_ID=1
+
+ elif [ "$PROFILE" = "wearable" ]
+ then
+ PROFILE_ID=2
+
+ else
+ echo "Fail to create table : PROFILE must be common, mobile or wearable"
+ exit
+ fi
+
+ PRIVILEGE_NAME=`echo $i | cut -d "," -f 2`
+ FROM_API_VERSION=`echo $i | cut -d "," -f 3`
+ TO_API_VERSION=`echo $i | cut -d "," -f 4`
+ MAPPED_PRIVILEGE_NAME=`echo $i | cut -d "," -f 5`
+
+ echo "Inserting $PRIVILEGE_NAME $MAPPED_PRIVILEGE_NAME..."
+
+ sqlite3 $DB_NAME "insert into privilege_mapping values ( $PROFILE_ID, '$PROFILE', '$PRIVILEGE_NAME','$FROM_API_VERSION', '$TO_API_VERSION', '$MAPPED_PRIVILEGE_NAME')"
+done
+
+echo "Check inserted data"
+sqlite3 $DB_NAME "select * from privilege_mapping"
--- /dev/null
+#PROFILE,#PRIVILEGE_NAME,#FROM,#TO,#MAPPED_PRIVILEGE_NAME
+mobile,http://tizen.org/privilege/account.read,2.3,9.9,http://tizen.org/privilege/account.read
+mobile,http://tizen.org/privilege/account.read,2.3,9.9,http://tizen.org/privilege/internal/buxton/account.read
+wearable,http://tizen.org/privilege/account.read,2.4,9.9,http://tizen.org/privilege/account.read
+wearable,http://tizen.org/privilege/account.read,2.4,9.9,http://tizen.org/privilege/internal/buxton/account.read
+mobile,http://tizen.org/privilege/account.write,2.3,9.9,http://tizen.org/privilege/account.write
+mobile,http://tizen.org/privilege/account.write,2.3,9.9,http://tizen.org/privilege/internal/buxton/account.read
+wearable,http://tizen.org/privilege/account.write,2.4,9.9,http://tizen.org/privilege/account.write
+wearable,http://tizen.org/privilege/account.write,2.4,9.9,http://tizen.org/privilege/internal/buxton/account.read
+mobile,http://tizen.org/privilege/alarm.get,2.3,9.9,http://tizen.org/privilege/alarm.get
+wearable,http://tizen.org/privilege/alarm.get,2.3.1,9.9,http://tizen.org/privilege/alarm.get
+mobile,http://tizen.org/privilege/alarm.set,2.3,9.9,http://tizen.org/privilege/alarm.set
+wearable,http://tizen.org/privilege/alarm.set,2.3.1,9.9,http://tizen.org/privilege/alarm.set
+mobile,http://tizen.org/privilege/antivirus,2.3,9.9,http://tizen.org/privilege/antivirus
+wearable,http://tizen.org/privilege/antivirus,2.3.1,9.9,http://tizen.org/privilege/antivirus
+mobile,http://tizen.org/privilege/apphistory.read,2.4,9.9,http://tizen.org/privilege/apphistory.read
+mobile,http://tizen.org/privilege/appmanager.kill,2.3,9.9,http://tizen.org/privilege/appmanager.kill
+wearable,http://tizen.org/privilege/appmanager.kill,2.3.1,9.9,http://tizen.org/privilege/appmanager.kill
+common,http://tizen.org/privilege/appmanager.kill.bgapp,2.4,9.9,http://tizen.org/privilege/appmanager.kill.bgapp
+mobile,http://tizen.org/privilege/appmanager.launch,2.3,9.9,http://tizen.org/privilege/appmanager.launch
+wearable,http://tizen.org/privilege/appmanager.launch,2.3.1,9.9,http://tizen.org/privilege/appmanager.launch
+mobile,http://tizen.org/privilege/bluetooth,2.3,9.9,http://tizen.org/privilege/bluetooth
+wearable,http://tizen.org/privilege/bluetooth,2.3.1,9.9,http://tizen.org/privilege/bluetooth
+mobile,http://tizen.org/privilege/bluetooth.admin,2.3,9.9,http://tizen.org/privilege/bluetooth.admin
+wearable,http://tizen.org/privilege/bluetooth.admin,2.3.1,9.9,http://tizen.org/privilege/bluetooth.admin
+mobile,http://tizen.org/privilege/bookmark.admin,2.3,9.9,http://tizen.org/privilege/bookmark.admin
+mobile,http://tizen.org/privilege/calendar.read,2.3,9.9,http://tizen.org/privilege/calendar.read
+mobile,http://tizen.org/privilege/calendar.write,2.3,9.9,http://tizen.org/privilege/calendar.write
+mobile,http://tizen.org/privilege/call,2.3,9.9,http://tizen.org/privilege/call
+wearable,http://tizen.org/privilege/call,2.3.1,9.9,http://tizen.org/privilege/call
+mobile,http://tizen.org/privilege/callhistory.read,2.3,9.9,http://tizen.org/privilege/callhistory.read
+wearable,http://tizen.org/privilege/callhistory.read,2.3.1,9.9,http://tizen.org/privilege/callhistory.read
+mobile,http://tizen.org/privilege/callhistory.write,2.3,9.9,http://tizen.org/privilege/callhistory.write
+wearable,http://tizen.org/privilege/callhistory.write,2.3.1,9.9,http://tizen.org/privilege/callhistory.write
+mobile,http://tizen.org/privilege/camera,2.3,9.9,http://tizen.org/privilege/camera
+mobile,http://tizen.org/privilege/camera,2.3,9.9,http://tizen.org/privilege/internal/buxton/camcorder
+wearable,http://tizen.org/privilege/camera,2.3.1,9.9,http://tizen.org/privilege/camera
+wearable,http://tizen.org/privilege/camera,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/camcorder
+mobile,http://tizen.org/privilege/contact.read,2.3,9.9,http://tizen.org/privilege/contact.read
+mobile,http://tizen.org/privilege/contact.read,2.3,9.9,http://tizen.org/privilege/internal/buxton/contact.read
+wearable,http://tizen.org/privilege/contact.read,2.4,9.9,http://tizen.org/privilege/contact.read
+wearable,http://tizen.org/privilege/contact.read,2.4,9.9,http://tizen.org/privilege/internal/buxton/contact.read
+mobile,http://tizen.org/privilege/contact.write,2.3,9.9,http://tizen.org/privilege/contact.write
+mobile,http://tizen.org/privilege/contact.write,2.3,9.9,http://tizen.org/privilege/internal/buxton/contact.read
+wearable,http://tizen.org/privilege/contact.write,2.4,9.9,http://tizen.org/privilege/contact.write
+wearable,http://tizen.org/privilege/contact.write,2.4,9.9,http://tizen.org/privilege/internal/buxton/contact.read
+mobile,http://tizen.org/privilege/content.write,2.3,9.9,http://tizen.org/privilege/content.write
+wearable,http://tizen.org/privilege/content.write,2.3.1,9.9,http://tizen.org/privilege/content.write
+mobile,http://tizen.org/privilege/datasharing,2.3,9.9,http://tizen.org/privilege/datasharing
+wearable,http://tizen.org/privilege/datasharing,2.3.1,9.9,http://tizen.org/privilege/datasharing
+mobile,http://tizen.org/privilege/display,2.3,9.9,http://tizen.org/privilege/display
+wearable,http://tizen.org/privilege/display,2.3.1,9.9,http://tizen.org/privilege/display
+mobile,http://tizen.org/privilege/download,2.3,9.9,http://tizen.org/privilege/download
+wearable,http://tizen.org/privilege/download,2.3.1,9.9,http://tizen.org/privilege/download
+mobile,http://tizen.org/privilege/email,2.3,9.9,http://tizen.org/privilege/email
+mobile,http://tizen.org/privilege/email.admin,2.3,9.9,http://tizen.org/privilege/email.admin
+mobile,http://tizen.org/privilege/externalstorage,2.3,9.9,http://tizen.org/privilege/externalstorage
+wearable,http://tizen.org/privilege/externalstorage,2.3.1,9.9,http://tizen.org/privilege/externalstorage
+mobile,http://tizen.org/privilege/externalstorage.appdata,2.3,9.9,http://tizen.org/privilege/externalstorage.appdata
+wearable,http://tizen.org/privilege/externalstorage.appdata,2.3.1,9.9,http://tizen.org/privilege/externalstorage.appdata
+mobile,http://tizen.org/privilege/haptic,2.3,9.9,http://tizen.org/privilege/haptic
+wearable,http://tizen.org/privilege/haptic,2.3.1,9.9,http://tizen.org/privilege/haptic
+common,http://tizen.org/privilege/healthinfo,2.3.1,9.9,http://tizen.org/privilege/healthinfo
+common,http://tizen.org/privilege/ime,2.4,9.9,http://tizen.org/privilege/ime
+common,http://tizen.org/privilege/imemanager,2.4,9.9,http://tizen.org/privilege/imemanager
+common,http://tizen.org/privilege/inputgenerator,2.4,9.9,http://tizen.org/privilege/inputgenerator
+mobile,http://tizen.org/privilege/internet,2.3,9.9,http://tizen.org/privilege/internet
+wearable,http://tizen.org/privilege/internet,2.3.1,9.9,http://tizen.org/privilege/internet
+common,http://tizen.org/privilege/keygrab,2.4,9.9,http://tizen.org/privilege/keygrab
+mobile,http://tizen.org/privilege/keymanager,2.3,9.9,http://tizen.org/privilege/keymanager
+wearable,http://tizen.org/privilege/keymanager,2.3.1,9.9,http://tizen.org/privilege/keymanager
+mobile,http://tizen.org/privilege/led,2.3,9.9,http://tizen.org/privilege/led
+wearable,http://tizen.org/privilege/led,2.3.1,9.9,http://tizen.org/privilege/led
+mobile,http://tizen.org/privilege/location,2.3,9.9,http://tizen.org/privilege/location
+mobile,http://tizen.org/privilege/location,2.4,9.9,http://tizen.org/privilege/internal/buxton/location
+wearable,http://tizen.org/privilege/location,2.3.1,9.9,http://tizen.org/privilege/location
+wearable,http://tizen.org/privilege/location,2.4,9.9,http://tizen.org/privilege/internal/buxton/location
+mobile,http://tizen.org/privilege/location.enable,2.3,9.9,http://tizen.org/privilege/location.enable
+mobile,http://tizen.org/privilege/location.enable,2.4,9.9,http://tizen.org/privilege/internal/buxton/location
+wearable,http://tizen.org/privilege/location.enable,2.3.1,9.9,http://tizen.org/privilege/location.enable
+wearable,http://tizen.org/privilege/location.enable,2.4,9.9,http://tizen.org/privilege/internal/buxton/location
+common,http://tizen.org/privilege/mapservice,2.4,9.9,http://tizen.org/privilege/mapservice
+common,http://tizen.org/privilege/mediacontroller.client,2.4,9.9,http://tizen.org/privilege/mediacontroller.client
+common,http://tizen.org/privilege/mediacontroller.server,2.4,9.9,http://tizen.org/privilege/mediacontroller.server
+mobile,http://tizen.org/privilege/mediahistory.read,2.4,9.9,http://tizen.org/privilege/mediahistory.read
+mobile,http://tizen.org/privilege/mediastorage,2.3,9.9,http://tizen.org/privilege/mediastorage
+wearable,http://tizen.org/privilege/mediastorage,2.3.1,9.9,http://tizen.org/privilege/mediastorage
+mobile,http://tizen.org/privilege/message.read,2.3,9.9,http://tizen.org/privilege/message.read
+mobile,http://tizen.org/privilege/message.read,2.3,9.9,http://tizen.org/privilege/internal/buxton/message.read
+wearable,http://tizen.org/privilege/message.read,2.3.1,9.9,http://tizen.org/privilege/message.read
+wearable,http://tizen.org/privilege/message.read,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/message.read
+mobile,http://tizen.org/privilege/message.write,2.3,9.9,http://tizen.org/privilege/message.write
+wearable,http://tizen.org/privilege/message.write,2.3.1,9.9,http://tizen.org/privilege/message.write
+common,http://tizen.org/privilege/minicontrol.provider,2.4,9.9,http://tizen.org/privilege/minicontrol.provider
+mobile,http://tizen.org/privilege/network.get,2.3,9.9,http://tizen.org/privilege/network.get
+mobile,http://tizen.org/privilege/network.get,2.3,9.9,http://tizen.org/privilege/internal/buxton/network.get
+wearable,http://tizen.org/privilege/network.get,2.3.1,9.9,http://tizen.org/privilege/network.get
+wearable,http://tizen.org/privilege/network.get,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/network.get
+mobile,http://tizen.org/privilege/network.profile,2.3,9.9,http://tizen.org/privilege/network.profile
+wearable,http://tizen.org/privilege/network.profile,2.3.1,9.9,http://tizen.org/privilege/network.profile
+mobile,http://tizen.org/privilege/network.set,2.3,9.9,http://tizen.org/privilege/network.set
+mobile,http://tizen.org/privilege/network.set,2.3,9.9,http://tizen.org/privilege/internal/buxton/network.get
+wearable,http://tizen.org/privilege/network.set,2.3.1,9.9,http://tizen.org/privilege/network.set
+wearable,http://tizen.org/privilege/network.set,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/network.get
+mobile,http://tizen.org/privilege/nfc,2.3,9.9,http://tizen.org/privilege/nfc
+mobile,http://tizen.org/privilege/nfc,2.3,9.9,http://tizen.org/privilege/internal/buxton/nfc
+wearable,http://tizen.org/privilege/nfc,2.3.1,9.9,http://tizen.org/privilege/nfc
+wearable,http://tizen.org/privilege/nfc,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc
+mobile,http://tizen.org/privilege/nfc.admin,2.3,9.9,http://tizen.org/privilege/nfc.admin
+mobile,http://tizen.org/privilege/nfc.admin,2.3,9.9,http://tizen.org/privilege/internal/buxton/nfc
+mobile,http://tizen.org/privilege/nfc.admin,2.3,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation
+wearable,http://tizen.org/privilege/nfc.admin,2.3.1,9.9,http://tizen.org/privilege/nfc.admin
+wearable,http://tizen.org/privilege/nfc.admin,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc
+wearable,http://tizen.org/privilege/nfc.admin,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation
+mobile,http://tizen.org/privilege/nfc.cardemulation,2.3,9.9,http://tizen.org/privilege/nfc.cardemulation
+mobile,http://tizen.org/privilege/nfc.cardemulation,2.3,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation
+wearable,http://tizen.org/privilege/nfc.cardemulation,2.3.1,9.9,http://tizen.org/privilege/nfc.cardemulation
+wearable,http://tizen.org/privilege/nfc.cardemulation,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation
+mobile,http://tizen.org/privilege/notification,2.3,9.9,http://tizen.org/privilege/notification
+wearable,http://tizen.org/privilege/notification,2.3.1,9.9,http://tizen.org/privilege/notification
+mobile,http://tizen.org/privilege/packagemanager.admin,2.3,9.9,http://tizen.org/privilege/packagemanager.admin
+wearable,http://tizen.org/privilege/packagemanager.admin,2.3.1,9.9,http://tizen.org/privilege/packagemanager.admin
+common,http://tizen.org/privilege/packagemanager.clearcache,2.4,9.9,http://tizen.org/privilege/packagemanager.clearcache
+mobile,http://tizen.org/privilege/packagemanager.info,2.3,9.9,http://tizen.org/privilege/packagemanager.info
+wearable,http://tizen.org/privilege/packagemanager.info,2.3.1,9.9,http://tizen.org/privilege/packagemanager.info
+mobile,http://tizen.org/privilege/power,2.3,9.9,http://tizen.org/privilege/power
+wearable,http://tizen.org/privilege/power,2.3.1,9.9,http://tizen.org/privilege/power
+mobile,http://tizen.org/privilege/push,2.3,9.9,http://tizen.org/privilege/push
+wearable,http://tizen.org/privilege/push,2.3.1,9.9,http://tizen.org/privilege/push
+common,http://tizen.org/privilege/reboot,2.3.1,9.9,http://tizen.org/privilege/reboot
+mobile,http://tizen.org/privilege/recorder,2.3,9.9,http://tizen.org/privilege/recorder
+mobile,http://tizen.org/privilege/recorder,2.3,9.9,http://tizen.org/privilege/internal/buxton/camcorder
+wearable,http://tizen.org/privilege/recorder,2.3.1,9.9,http://tizen.org/privilege/recorder
+wearable,http://tizen.org/privilege/recorder,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/camcorder
+mobile,http://tizen.org/privilege/screenshot,2.3,9.9,http://tizen.org/privilege/screenshot
+wearable,http://tizen.org/privilege/screenshot,2.3.1,9.9,http://tizen.org/privilege/screenshot
+common,http://tizen.org/privilege/secureelement,2.3.1,9.9,http://tizen.org/privilege/secureelement
+mobile,http://tizen.org/privilege/shortcut,2.3,9.9,http://tizen.org/privilege/shortcut
+common,http://tizen.org/privilege/systemmonitor,2.4,9.9,http://tizen.org/privilege/systemmonitor
+mobile,http://tizen.org/privilege/systemsettings.admin,2.3,9.9,http://tizen.org/privilege/systemsettings.admin
+wearable,http://tizen.org/privilege/systemsettings.admin,2.3.1,9.9,http://tizen.org/privilege/systemsettings.admin
+mobile,http://tizen.org/privilege/telephony,2.3,9.9,http://tizen.org/privilege/telephony
+wearable,http://tizen.org/privilege/telephony,2.3.1,9.9,http://tizen.org/privilege/telephony
+mobile,http://tizen.org/privilege/telephony.admin,2.3,9.9,http://tizen.org/privilege/telephony.admin
+mobile,http://tizen.org/privilege/telephony.admin,2.3,9.9,http://tizen.org/privilege/internal/buxton/telephony
+wearable,http://tizen.org/privilege/telephony.admin,2.3.1,9.9,http://tizen.org/privilege/telephony.admin
+wearable,http://tizen.org/privilege/telephony.admin,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/telephony
+mobile,http://tizen.org/privilege/tethering.admin,2.3,9.9,http://tizen.org/privilege/tethering.admin
+mobile,http://tizen.org/privilege/volume.set,2.3,9.9,http://tizen.org/privilege/volume.set
+wearable,http://tizen.org/privilege/volume.set,2.3.1,9.9,http://tizen.org/privilege/volume.set
+mobile,http://tizen.org/privilege/web-history.admin,2.3,9.9,http://tizen.org/privilege/web-history.admin
+common,http://tizen.org/privilege/widget.viewer,2.3.1,9.9,http://tizen.org/privilege/widget.viewer
+mobile,http://tizen.org/privilege/wifidirect,2.3,9.9,http://tizen.org/privilege/wifidirect
+mobile,http://tizen.org/privilege/window.priority.set,2.3,9.9,http://tizen.org/privilege/window.priority.set
+wearable,http://tizen.org/privilege/window.priority.set,2.3.1,9.9,http://tizen.org/privilege/window.priority.set
+mobile,http://tizen.org/privilege/internal/default/public,2.3,9.9,http://tizen.org/privilege/internal/default/public
+mobile,http://tizen.org/privilege/internal/default/public,2.3,2.3.1,http://tizen.org/privilege/internal/buxton/location
+mobile,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/internal/default/public
+mobile,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/internal/default/partner
+mobile,http://tizen.org/privilege/internal/default/partner,2.3,2.3.1,http://tizen.org/privilege/internal/buxton/location
+mobile,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/internal/default/public
+mobile,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/internal/default/partner
+mobile,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/internal/default/platform
+mobile,http://tizen.org/privilege/internal/default/platform,2.3,2.3.1,http://tizen.org/privilege/internal/buxton/location
+wearable,http://tizen.org/privilege/internal/default/public,2.3.1,9.9,http://tizen.org/privilege/internal/default/public
+wearable,http://tizen.org/privilege/internal/default/public,2.3.1,2.3.1,http://tizen.org/privilege/internal/buxton/location
+wearable,http://tizen.org/privilege/internal/default/partner,2.3.1,9.9,http://tizen.org/privilege/internal/default/public
+wearable,http://tizen.org/privilege/internal/default/partner,2.3.1,9.9,http://tizen.org/privilege/internal/default/partner
+wearable,http://tizen.org/privilege/internal/default/partner,2.3.1,2.3.1,http://tizen.org/privilege/internal/buxton/location
+wearable,http://tizen.org/privilege/internal/default/platform,2.3.1,9.9,http://tizen.org/privilege/internal/default/public
+wearable,http://tizen.org/privilege/internal/default/platform,2.3.1,9.9,http://tizen.org/privilege/internal/default/partner
+wearable,http://tizen.org/privilege/internal/default/platform,2.3.1,9.9,http://tizen.org/privilege/internal/default/platform
+wearable,http://tizen.org/privilege/internal/default/platform,2.3.1,2.3.1,http://tizen.org/privilege/internal/buxton/location
--- /dev/null
+#!/bin/bash
+
+DB_NAME="tv_core_privilege_mapping.db"
+
+rm $DB_NAME 2> /dev/null
+echo "Creating $DB_NAME ..."
+touch $DB_NAME
+
+echo "Creating PRIVILEGE_MAPPING table ..."
+sqlite3 $DB_NAME "CREATE TABLE PRIVILEGE_MAPPING (PROFILE_ID NUMERIC, PROFILE TEXT, PRIVILEGE_NAME TEXT, FROM_API_VERSION TEXT, TO_API_VERSION TEXT, MAPPED_PRIVILEGE_NAME TEXT);"
+
+echo "Inserting data ..."
+IFS=$'\n'
+for i in `cat tv_core_privilege_mapping.csv`
+do
+ temp=`echo $i | awk '/^#/'`
+ if [ ! "$temp" = "" ]
+ then
+ continue
+ fi
+
+ PROFILE=`echo $i | cut -d "," -f 1`
+ #echo PROFILE = $PROFILE
+
+ if [ "$PROFILE" = "common" ]
+ then
+ PROFILE_ID=0
+
+ elif [ "$PROFILE" = "mobile" ]
+ then
+ PROFILE_ID=1
+
+ elif [ "$PROFILE" = "wearable" ]
+ then
+ PROFILE_ID=2
+
+ elif [ "$PROFILE" = "tv" ]
+ then
+ PROFILE_ID=3
+
+ else
+ echo "Fail to create table : PROFILE must be common, mobile, wearable or tv"
+ exit
+ fi
+
+ PRIVILEGE_NAME=`echo $i | cut -d "," -f 2`
+ FROM_API_VERSION=`echo $i | cut -d "," -f 3`
+ TO_API_VERSION=`echo $i | cut -d "," -f 4`
+ MAPPED_PRIVILEGE_NAME=`echo $i | cut -d "," -f 5`
+
+ echo "Inserting $PRIVILEGE_NAME $MAPPED_PRIVILEGE_NAME..."
+
+ sqlite3 $DB_NAME "insert into privilege_mapping values ( $PROFILE_ID, '$PROFILE', '$PRIVILEGE_NAME','$FROM_API_VERSION', '$TO_API_VERSION', '$MAPPED_PRIVILEGE_NAME')"
+done
+
+echo "Check inserted data"
+sqlite3 $DB_NAME "select * from privilege_mapping"
--- /dev/null
+#PROFILE,#PRIVILEGE_NAME,#FROM,#TO,#MAPPED_PRIVILEGE_NAME
+tv,http://tizen.org/privilege/account.read,2.4,9.9,http://tizen.org/privilege/account.read
+tv,http://tizen.org/privilege/account.read,2.4,9.9,http://tizen.org/privilege/internal/buxton/account.read
+tv,http://tizen.org/privilege/account.write,2.4,9.9,http://tizen.org/privilege/account.write
+tv,http://tizen.org/privilege/account.write,2.4,9.9,http://tizen.org/privilege/internal/buxton/account.read
+tv,http://tizen.org/privilege/alarm.get,2.4,9.9,http://tizen.org/privilege/alarm.get
+tv,http://tizen.org/privilege/alarm.set,2.4,9.9,http://tizen.org/privilege/alarm.set
+tv,http://tizen.org/privilege/antivirus,2.4,9.9,http://tizen.org/privilege/antivirus
+tv,http://tizen.org/privilege/apphistory.read,2.4,9.9,http://tizen.org/privilege/apphistory.read
+tv,http://tizen.org/privilege/appmanager.kill,2.4,9.9,http://tizen.org/privilege/appmanager.kill
+tv,http://tizen.org/privilege/appmanager.kill.bgapp,2.4,9.9,http://tizen.org/privilege/appmanager.kill.bgapp
+tv,http://tizen.org/privilege/appmanager.launch,2.4,9.9,http://tizen.org/privilege/appmanager.launch
+tv,http://tizen.org/privilege/bluetooth,2.4,9.9,http://tizen.org/privilege/bluetooth
+tv,http://tizen.org/privilege/bluetooth.admin,2.4,9.9,http://tizen.org/privilege/bluetooth.admin
+tv,http://tizen.org/privilege/bookmark.admin,2.4,9.9,http://tizen.org/privilege/bookmark.admin
+tv,http://tizen.org/privilege/calendar.read,2.4,9.9,http://tizen.org/privilege/calendar.read
+tv,http://tizen.org/privilege/calendar.write,2.4,9.9,http://tizen.org/privilege/calendar.write
+tv,http://tizen.org/privilege/call,2.4,9.9,http://tizen.org/privilege/call
+tv,http://tizen.org/privilege/callhistory.read,2.4,9.9,http://tizen.org/privilege/callhistory.read
+tv,http://tizen.org/privilege/callhistory.write,2.4,9.9,http://tizen.org/privilege/callhistory.write
+tv,http://tizen.org/privilege/camera,2.4,9.9,http://tizen.org/privilege/camera
+tv,http://tizen.org/privilege/camera,2.4,9.9,http://tizen.org/privilege/internal/buxton/camcorder
+tv,http://tizen.org/privilege/contact.read,2.4,9.9,http://tizen.org/privilege/contact.read
+tv,http://tizen.org/privilege/contact.read,2.4,9.9,http://tizen.org/privilege/internal/buxton/contact.read
+tv,http://tizen.org/privilege/contact.write,2.4,9.9,http://tizen.org/privilege/contact.write
+tv,http://tizen.org/privilege/contact.write,2.4,9.9,http://tizen.org/privilege/internal/buxton/contact.read
+tv,http://tizen.org/privilege/content.write,2.4,9.9,http://tizen.org/privilege/content.write
+tv,http://tizen.org/privilege/datasharing,2.4,9.9,http://tizen.org/privilege/datasharing
+tv,http://tizen.org/privilege/display,2.4,9.9,http://tizen.org/privilege/display
+tv,http://tizen.org/privilege/download,2.4,9.9,http://tizen.org/privilege/download
+tv,http://tizen.org/privilege/email,2.4,9.9,http://tizen.org/privilege/email
+tv,http://tizen.org/privilege/email.admin,2.4,9.9,http://tizen.org/privilege/email.admin
+tv,http://tizen.org/privilege/externalstorage,2.4,9.9,http://tizen.org/privilege/externalstorage
+tv,http://tizen.org/privilege/externalstorage.appdata,2.4,9.9,http://tizen.org/privilege/externalstorage.appdata
+tv,http://tizen.org/privilege/haptic,2.4,9.9,http://tizen.org/privilege/haptic
+tv,http://tizen.org/privilege/healthinfo,2.4,9.9,http://tizen.org/privilege/healthinfo
+tv,http://tizen.org/privilege/ime,2.4,9.9,http://tizen.org/privilege/ime
+tv,http://tizen.org/privilege/imemanager,2.4,9.9,http://tizen.org/privilege/imemanager
+tv,http://tizen.org/privilege/inputgenerator,2.4,9.9,http://tizen.org/privilege/inputgenerator
+tv,http://tizen.org/privilege/internet,2.4,9.9,http://tizen.org/privilege/internet
+tv,http://tizen.org/privilege/keygrab,2.4,9.9,http://tizen.org/privilege/keygrab
+tv,http://tizen.org/privilege/keymanager,2.4,9.9,http://tizen.org/privilege/keymanager
+tv,http://tizen.org/privilege/led,2.4,9.9,http://tizen.org/privilege/led
+tv,http://tizen.org/privilege/location,2.4,9.9,http://tizen.org/privilege/location
+tv,http://tizen.org/privilege/location,2.4,9.9,http://tizen.org/privilege/internal/buxton/location
+tv,http://tizen.org/privilege/location.enable,2.4,9.9,http://tizen.org/privilege/location.enable
+tv,http://tizen.org/privilege/location.enable,2.4,9.9,http://tizen.org/privilege/internal/buxton/location
+tv,http://tizen.org/privilege/mapservice,2.4,9.9,http://tizen.org/privilege/mapservice
+tv,http://tizen.org/privilege/mediacontroller.client,2.4,9.9,http://tizen.org/privilege/mediacontroller.client
+tv,http://tizen.org/privilege/mediacontroller.server,2.4,9.9,http://tizen.org/privilege/mediacontroller.server
+tv,http://tizen.org/privilege/mediahistory.read,2.4,9.9,http://tizen.org/privilege/mediahistory.read
+tv,http://tizen.org/privilege/mediastorage,2.4,9.9,http://tizen.org/privilege/mediastorage
+tv,http://tizen.org/privilege/message.read,2.4,9.9,http://tizen.org/privilege/message.read
+tv,http://tizen.org/privilege/message.read,2.4,9.9,http://tizen.org/privilege/internal/buxton/message.read
+tv,http://tizen.org/privilege/message.write,2.4,9.9,http://tizen.org/privilege/message.write
+tv,http://tizen.org/privilege/minicontrol.provider,2.4,9.9,http://tizen.org/privilege/minicontrol.provider
+tv,http://tizen.org/privilege/network.get,2.4,9.9,http://tizen.org/privilege/network.get
+tv,http://tizen.org/privilege/network.get,2.4,9.9,http://tizen.org/privilege/internal/buxton/network.get
+tv,http://tizen.org/privilege/network.profile,2.4,9.9,http://tizen.org/privilege/network.profile
+tv,http://tizen.org/privilege/network.set,2.4,9.9,http://tizen.org/privilege/network.set
+tv,http://tizen.org/privilege/network.set,2.4,9.9,http://tizen.org/privilege/internal/buxton/network.get
+tv,http://tizen.org/privilege/nfc,2.4,9.9,http://tizen.org/privilege/nfc
+tv,http://tizen.org/privilege/nfc,2.4,9.9,http://tizen.org/privilege/internal/buxton/nfc
+tv,http://tizen.org/privilege/nfc.admin,2.4,9.9,http://tizen.org/privilege/nfc.admin
+tv,http://tizen.org/privilege/nfc.admin,2.4,9.9,http://tizen.org/privilege/internal/buxton/nfc
+tv,http://tizen.org/privilege/nfc.admin,2.4,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation
+tv,http://tizen.org/privilege/nfc.cardemulation,2.4,9.9,http://tizen.org/privilege/nfc.cardemulation
+tv,http://tizen.org/privilege/nfc.cardemulation,2.4,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation
+tv,http://tizen.org/privilege/notification,2.4,9.9,http://tizen.org/privilege/notification
+tv,http://tizen.org/privilege/packagemanager.admin,2.4,9.9,http://tizen.org/privilege/packagemanager.admin
+tv,http://tizen.org/privilege/packagemanager.clearcache,2.4,9.9,http://tizen.org/privilege/packagemanager.clearcache
+tv,http://tizen.org/privilege/packagemanager.info,2.4,9.9,http://tizen.org/privilege/packagemanager.info
+tv,http://tizen.org/privilege/power,2.4,9.9,http://tizen.org/privilege/power
+tv,http://tizen.org/privilege/push,2.4,9.9,http://tizen.org/privilege/push
+tv,http://tizen.org/privilege/reboot,2.4,9.9,http://tizen.org/privilege/reboot
+tv,http://tizen.org/privilege/recorder,2.4,9.9,http://tizen.org/privilege/recorder
+tv,http://tizen.org/privilege/recorder,2.4,9.9,http://tizen.org/privilege/internal/buxton/camcorder
+tv,http://tizen.org/privilege/screenshot,2.4,9.9,http://tizen.org/privilege/screenshot
+tv,http://tizen.org/privilege/secureelement,2.4,9.9,http://tizen.org/privilege/secureelement
+tv,http://tizen.org/privilege/shortcut,2.4,9.9,http://tizen.org/privilege/shortcut
+tv,http://tizen.org/privilege/systemmonitor,2.4,9.9,http://tizen.org/privilege/systemmonitor
+tv,http://tizen.org/privilege/systemsettings.admin,2.4,9.9,http://tizen.org/privilege/systemsettings.admin
+tv,http://tizen.org/privilege/telephony,2.4,9.9,http://tizen.org/privilege/telephony
+tv,http://tizen.org/privilege/telephony.admin,2.4,9.9,http://tizen.org/privilege/telephony.admin
+tv,http://tizen.org/privilege/telephony.admin,2.4,9.9,http://tizen.org/privilege/internal/buxton/telephony
+tv,http://tizen.org/privilege/tethering.admin,2.4,9.9,http://tizen.org/privilege/tethering.admin
+tv,http://tizen.org/privilege/volume.set,2.4,9.9,http://tizen.org/privilege/volume.set
+tv,http://tizen.org/privilege/web-history.admin,2.4,9.9,http://tizen.org/privilege/web-history.admin
+tv,http://tizen.org/privilege/widget.viewer,2.4,9.9,http://tizen.org/privilege/widget.viewer
+tv,http://tizen.org/privilege/wifidirect,2.4,9.9,http://tizen.org/privilege/wifidirect
+tv,http://tizen.org/privilege/window.priority.set,2.4,9.9,http://tizen.org/privilege/window.priority.set
+tv,http://tizen.org/privilege/internal/default/public,2.4,9.9,http://tizen.org/privilege/internal/default/public
+tv,http://tizen.org/privilege/internal/default/partner,2.4,9.9,http://tizen.org/privilege/internal/default/public
+tv,http://tizen.org/privilege/internal/default/partner,2.4,9.9,http://tizen.org/privilege/internal/default/partner
+tv,http://tizen.org/privilege/internal/default/platform,2.4,9.9,http://tizen.org/privilege/internal/default/public
+tv,http://tizen.org/privilege/internal/default/platform,2.4,9.9,http://tizen.org/privilege/internal/default/partner
+tv,http://tizen.org/privilege/internal/default/platform,2.4,9.9,http://tizen.org/privilege/internal/default/platform
--- /dev/null
+#!/bin/bash
+
+DB_NAME="tv_wrt_privilege_mapping.db"
+
+rm $DB_NAME 2> /dev/null
+echo "Creating $DB_NAME ..."
+touch $DB_NAME
+
+echo "Creating PRIVILEGE_MAPPING table ..."
+sqlite3 $DB_NAME "CREATE TABLE PRIVILEGE_MAPPING (PROFILE_ID NUMERIC, PROFILE TEXT, PRIVILEGE_NAME TEXT, FROM_API_VERSION TEXT, TO_API_VERSION TEXT, MAPPED_PRIVILEGE_NAME TEXT);"
+
+echo "Inserting data ..."
+IFS=$'\n'
+for i in `cat tv_wrt_privilege_mapping.csv`
+do
+ temp=`echo $i | awk '/^#/'`
+ if [ ! "$temp" = "" ]
+ then
+ continue
+ fi
+
+ PROFILE=`echo $i | cut -d "," -f 1`
+ #echo PROFILE = $PROFILE
+
+ if [ "$PROFILE" = "common" ]
+ then
+ PROFILE_ID=0
+
+ elif [ "$PROFILE" = "mobile" ]
+ then
+ PROFILE_ID=1
+
+ elif [ "$PROFILE" = "wearable" ]
+ then
+ PROFILE_ID=2
+
+ elif [ "$PROFILE" = "tv" ]
+ then
+ PROFILE_ID=3
+ else
+ echo "Fail to create table : PROFILE must be common, mobile, wearable or tv"
+ exit
+ fi
+
+ PRIVILEGE_NAME=`echo $i | cut -d "," -f 2`
+ FROM_API_VERSION=`echo $i | cut -d "," -f 3`
+ TO_API_VERSION=`echo $i | cut -d "," -f 4`
+ MAPPED_PRIVILEGE_NAME=`echo $i | cut -d "," -f 5`
+
+ echo "Inserting $PRIVILEGE_NAME $MAPPED_PRIVILEGE_NAME..."
+
+ sqlite3 $DB_NAME "insert into privilege_mapping values ( $PROFILE_ID, '$PROFILE', '$PRIVILEGE_NAME','$FROM_API_VERSION', '$TO_API_VERSION', '$MAPPED_PRIVILEGE_NAME')"
+done
+
+echo "Check inserted data"
+sqlite3 $DB_NAME "select * from privilege_mapping"
--- /dev/null
+#PROFILE,#PRIVILEGE_NAME,#FROM,#TO,#MAPPED_PRIVILEGE_NAME
+tv,http://tizen.org/privilege/alarm,2.3,9.9,http://tizen.org/privilege/alarm.get
+tv,http://tizen.org/privilege/alarm,2.3,9.9,http://tizen.org/privilege/alarm.set
+tv,http://tizen.org/privilege/application.info,2.3,9.9,http://tizen.org/privilege/packagemanager.info
+tv,http://tizen.org/privilege/application.launch,2.3,9.9,http://tizen.org/privilege/appmanager.launch
+tv,http://tizen.org/privilege/appmanager.certificate,2.3,9.9,http://tizen.org/privilege/notexist
+tv,http://tizen.org/privilege/appmanager.kill,2.3,9.9,http://tizen.org/privilege/appmanager.kill
+tv,http://tizen.org/privilege/content.read,2.3,9.9,http://tizen.org/privilege/content.write
+tv,http://tizen.org/privilege/content.write,2.3,9.9,http://tizen.org/privilege/content.write
+tv,http://tizen.org/privilege/datacontrol.consumer,2.4,9.9,http://tizen.org/privilege/appmanager.launch
+tv,http://tizen.org/privilege/datacontrol.consumer,2.4,9.9,http://tizen.org/privilege/datasharing
+tv,http://tizen.org/privilege/download,2.3,9.9,http://tizen.org/privilege/download
+tv,http://tizen.org/privilege/filesystem.read,2.3,9.9,http://tizen.org/privilege/systemsettings.admin
+tv,http://tizen.org/privilege/filesystem.write,2.3,9.9,http://tizen.org/privilege/systemsettings.admin
+tv,http://tizen.org/privilege/fullscreen,2.3,9.9,http://tizen.org/privilege/notexist
+tv,http://tizen.org/privilege/internet,2.3,9.9,http://tizen.org/privilege/internet
+tv,http://tizen.org/privilege/keymanager,2.4,9.9,http://tizen.org/privilege/keymanager
+tv,http://tizen.org/privilege/mediacapture,2.3,9.9,http://tizen.org/privilege/camera
+tv,http://tizen.org/privilege/mediacapture,2.3,9.9,http://tizen.org/privilege/internal/buxton/camcorder
+tv,http://tizen.org/privilege/mediacapture,2.3,9.9,http://tizen.org/privilege/recorder
+tv,http://tizen.org/privilege/package.info,2.3,9.9,http://tizen.org/privilege/packagemanager.info
+tv,http://tizen.org/privilege/packagemanager.install,2.3,9.9,http://tizen.org/privilege/packagemanager.admin
+tv,http://tizen.org/privilege/system,2.3,9.9,http://tizen.org/privilege/telephony
+tv,http://tizen.org/privilege/systemmanager,2.3,2.3,http://tizen.org/privilege/telephony
+tv,http://tizen.org/privilege/telephony,2.4,9.9,http://tizen.org/privilege/telephony
+tv,http://tizen.org/privilege/tv.audio,2.3,9.9,http://tizen.org/privilege/notexist
+tv,http://tizen.org/privilege/tv.channel,2.3,9.9,http://tizen.org/privilege/notexist
+tv,http://tizen.org/privilege/tv.display,2.3,9.9,http://tizen.org/privilege/notexist
+tv,http://tizen.org/privilege/tv.inputdevice,2.3,9.9,http://tizen.org/privilege/notexist
+tv,http://tizen.org/privilege/tv.window,2.3,9.9,http://tizen.org/privilege/notexist
+tv,http://tizen.org/privilege/unlimitedstorage,2.3,9.9,http://tizen.org/privilege/notexist
+tv,http://tizen.org/privilege/websetting,2.3,2.3,http://tizen.org/privilege/notexist
+tv,http://tizen.org/privilege/internal/default/public,2.3,2.3,http://tizen.org/privilege/internal/buxton/location
+tv,http://tizen.org/privilege/internal/default/public,2.3,9.9,http://tizen.org/privilege/internal/default/public
+tv,http://tizen.org/privilege/internal/default/public,2.3,2.3,http://tizen.org/privilege/call
+tv,http://tizen.org/privilege/internal/default/public,2.3,2.3,http://tizen.org/privilege/internet
+tv,http://tizen.org/privilege/internal/default/public,2.3,2.3,http://tizen.org/privilege/recorder
+tv,http://tizen.org/privilege/internal/default/public,2.3,2.3,http://tizen.org/privilege/camera
+tv,http://tizen.org/privilege/internal/default/public,2.3,9.9,http://tizen.org/privilege/appmanager.launch
+tv,http://tizen.org/privilege/internal/default/public,2.3,9.9,http://tizen.org/privilege/haptic
+tv,http://tizen.org/privilege/internal/default/public,2.3,9.9,http://tizen.org/privilege/internal/buxton/network.get
+tv,http://tizen.org/privilege/internal/default/public,2.3,9.9,http://tizen.org/privilege/internal/buxton/telephony
+tv,http://tizen.org/privilege/internal/default/public,2.3,9.9,http://tizen.org/privilege/network.get
+tv,http://tizen.org/privilege/internal/default/public,2.3,9.9,http://tizen.org/privilege/notification
+tv,http://tizen.org/privilege/internal/default/public,2.3,9.9,http://tizen.org/privilege/packagemanager.info
+tv,http://tizen.org/privilege/internal/default/partner,2.3,2.3,http://tizen.org/privilege/internal/buxton/location
+tv,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/internal/default/public
+tv,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/internal/default/partner
+tv,http://tizen.org/privilege/internal/default/partner,2.3,2.3,http://tizen.org/privilege/call
+tv,http://tizen.org/privilege/internal/default/partner,2.3,2.3,http://tizen.org/privilege/internet
+tv,http://tizen.org/privilege/internal/default/partner,2.3,2.3,http://tizen.org/privilege/recorder
+tv,http://tizen.org/privilege/internal/default/partner,2.3,2.3,http://tizen.org/privilege/camera
+tv,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/appmanager.launch
+tv,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/haptic
+tv,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/internal/buxton/network.get
+tv,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/internal/buxton/telephony
+tv,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/network.get
+tv,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/notification
+tv,http://tizen.org/privilege/internal/default/partner,2.3,9.9,http://tizen.org/privilege/packagemanager.info
+tv,http://tizen.org/privilege/internal/default/platform,2.3,2.3,http://tizen.org/privilege/internal/buxton/location
+tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/internal/default/public
+tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/internal/default/partner
+tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/internal/default/platform
+tv,http://tizen.org/privilege/internal/default/platform,2.3,2.3,http://tizen.org/privilege/call
+tv,http://tizen.org/privilege/internal/default/platform,2.3,2.3,http://tizen.org/privilege/internet
+tv,http://tizen.org/privilege/internal/default/platform,2.3,2.3,http://tizen.org/privilege/recorder
+tv,http://tizen.org/privilege/internal/default/platform,2.3,2.3,http://tizen.org/privilege/camera
+tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/appmanager.launch
+tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/haptic
+tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/internal/buxton/network.get
+tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/internal/buxton/telephony
+tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/network.get
+tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/notification
+tv,http://tizen.org/privilege/internal/default/platform,2.3,9.9,http://tizen.org/privilege/packagemanager.info
--- /dev/null
+#!/bin/bash
+
+DB_NAME="wrt_privilege_mapping.db"
+
+rm $DB_NAME 2> /dev/null
+echo "Creating $DB_NAME ..."
+touch $DB_NAME
+
+echo "Creating PRIVILEGE_MAPPING table ..."
+sqlite3 $DB_NAME "CREATE TABLE PRIVILEGE_MAPPING (PROFILE_ID NUMERIC, PROFILE TEXT, PRIVILEGE_NAME TEXT, FROM_API_VERSION TEXT, TO_API_VERSION TEXT, MAPPED_PRIVILEGE_NAME TEXT);"
+
+echo "Inserting data ..."
+IFS=$'\n'
+for i in `cat wrt_privilege_mapping.csv`
+do
+ temp=`echo $i | awk '/^#/'`
+ if [ ! "$temp" = "" ]
+ then
+ continue
+ fi
+
+ PROFILE=`echo $i | cut -d "," -f 1`
+ #echo PROFILE = $PROFILE
+
+ if [ "$PROFILE" = "common" ]
+ then
+ PROFILE_ID=0
+
+ elif [ "$PROFILE" = "mobile" ]
+ then
+ PROFILE_ID=1
+
+ elif [ "$PROFILE" = "wearable" ]
+ then
+ PROFILE_ID=2
+
+ else
+ echo "Fail to create table : PROFILE must be common, mobile or wearable"
+ exit
+ fi
+
+ PRIVILEGE_NAME=`echo $i | cut -d "," -f 2`
+ FROM_API_VERSION=`echo $i | cut -d "," -f 3`
+ TO_API_VERSION=`echo $i | cut -d "," -f 4`
+ MAPPED_PRIVILEGE_NAME=`echo $i | cut -d "," -f 5`
+
+ echo "Inserting $PRIVILEGE_NAME $MAPPED_PRIVILEGE_NAME..."
+
+ sqlite3 $DB_NAME "insert into privilege_mapping values ( $PROFILE_ID, '$PROFILE', '$PRIVILEGE_NAME','$FROM_API_VERSION', '$TO_API_VERSION', '$MAPPED_PRIVILEGE_NAME')"
+done
+
+echo "Check inserted data"
+sqlite3 $DB_NAME "select * from privilege_mapping"
--- /dev/null
+#PROFILE,#PRIVILEGE_NAME,#FROM,#TO,#MAPPED_PRIVILEGE_NAME,
+mobile,http://tizen.org/privilege/account.read,2.3,9.9,http://tizen.org/privilege/account.read,
+mobile,http://tizen.org/privilege/account.read,2.3,9.9,http://tizen.org/privilege/internal/buxton/account.read,
+mobile,http://tizen.org/privilege/account.write,2.3,9.9,http://tizen.org/privilege/account.write,
+mobile,http://tizen.org/privilege/account.write,2.3,9.9,http://tizen.org/privilege/internal/buxton/account.read,
+common,http://tizen.org/privilege/alarm,1,9.9,http://tizen.org/privilege/alarm.get,
+common,http://tizen.org/privilege/alarm,1,9.9,http://tizen.org/privilege/alarm.set,
+common,http://tizen.org/privilege/application.info,2.2,9.9,http://tizen.org/privilege/packagemanager.info,
+common,http://tizen.org/privilege/application.launch,1,9.9,http://tizen.org/privilege/appmanager.launch,
+common,http://tizen.org/privilege/appmanager.certificate,2.1,9.9,http://tizen.org/privilege/notexist,
+common,http://tizen.org/privilege/appmanager.kill,2.1,9.9,http://tizen.org/privilege/appmanager.kill,
+wearable,http://tizen.org/privilege/audiorecorder,2.3,9.9,http://tizen.org/privilege/recorder,
+wearable,http://tizen.org/privilege/audiorecorder,2.3,9.9,http://tizen.org/privilege/internal/buxton/camcorder,
+common,http://tizen.org/privilege/bluetooth,2.4,9.9,http://tizen.org/privilege/bluetooth,
+mobile,http://tizen.org/privilege/bluetooth.admin,1,2.3.1,http://tizen.org/privilege/bluetooth,Bluetooth.* was changed to bluetooth
+wearable,http://tizen.org/privilege/bluetooth.admin,2.3.1,2.3.1,http://tizen.org/privilege/bluetooth,Bluetooth.* was changed to bluetooth
+mobile,http://tizen.org/privilege/bluetooth.gap,1,2.3.1,http://tizen.org/privilege/bluetooth,Bluetooth.* was changed to bluetooth
+wearable,http://tizen.org/privilege/bluetooth.gap,2.3.1,2.3.1,http://tizen.org/privilege/bluetooth,Bluetooth.* was changed to bluetooth
+mobile,http://tizen.org/privilege/bluetooth.health,2.2,2.3.1,http://tizen.org/privilege/bluetooth,Bluetooth.* was changed to bluetooth
+wearable,http://tizen.org/privilege/bluetooth.health,2.3.1,2.3.1,http://tizen.org/privilege/bluetooth,Bluetooth.* was changed to bluetooth
+mobile,http://tizen.org/privilege/bluetooth.spp,1,2.3.1,http://tizen.org/privilege/bluetooth,Bluetooth.* was changed to bluetooth
+wearable,http://tizen.org/privilege/bluetooth.spp,2.3.1,2.3.1,http://tizen.org/privilege/bluetooth,Bluetooth.* was changed to bluetooth
+mobile,http://tizen.org/privilege/bluetoothmanager,2.1,9.9,http://tizen.org/privilege/bluetooth.admin,
+wearable,http://tizen.org/privilege/bluetoothmanager,2.3.1,9.9,http://tizen.org/privilege/bluetooth.admin,
+mobile,http://tizen.org/privilege/bookmark.read,2.1,9.9,http://tizen.org/privilege/bookmark.admin,
+mobile,http://tizen.org/privilege/bookmark.write,2.1,9.9,http://tizen.org/privilege/bookmark.admin,
+mobile,http://tizen.org/privilege/calendar.read,1,9.9,http://tizen.org/privilege/calendar.read,
+mobile,http://tizen.org/privilege/calendar.write,1,9.9,http://tizen.org/privilege/calendar.write,
+mobile,http://tizen.org/privilege/calendar.write,1,9.9,http://tizen.org/privilege/calendar.read,
+common,http://tizen.org/privilege/call,2.3,9.9,http://tizen.org/privilege/call,
+mobile,http://tizen.org/privilege/callhistory.read,2,9.9,http://tizen.org/privilege/callhistory.read,
+mobile,http://tizen.org/privilege/callhistory.read,2,9.9,http://tizen.org/privilege/contact.read,
+mobile,http://tizen.org/privilege/callhistory.read,2,9.9,http://tizen.org/privilege/telephony,
+mobile,http://tizen.org/privilege/callhistory.write,2,9.9,http://tizen.org/privilege/callhistory.read,
+mobile,http://tizen.org/privilege/callhistory.write,2,9.9,http://tizen.org/privilege/callhistory.write,
+mobile,http://tizen.org/privilege/callhistory.write,2,9.9,http://tizen.org/privilege/contact.read,
+mobile,http://tizen.org/privilege/callhistory.write,2,9.9,http://tizen.org/privilege/contact.write,
+wearable,http://tizen.org/privilege/camera,2.3,9.9,http://tizen.org/privilege/camera,
+wearable,http://tizen.org/privilege/camera,2.3,9.9,http://tizen.org/privilege/recorder,
+wearable,http://tizen.org/privilege/camera,2.3,9.9,http://tizen.org/privilege/internal/buxton/camcorder,
+mobile,http://tizen.org/privilege/contact.read,1,9.9,http://tizen.org/privilege/contact.read,
+mobile,http://tizen.org/privilege/contact.write,1,9.9,http://tizen.org/privilege/contact.write,
+common,http://tizen.org/privilege/content.read,2,9.9,http://tizen.org/privilege/content.write,
+common,http://tizen.org/privilege/content.write,2,9.9,http://tizen.org/privilege/content.write,
+mobile,http://tizen.org/privilege/datacontrol.consumer,2.1,9.9,http://tizen.org/privilege/appmanager.launch,
+mobile,http://tizen.org/privilege/datacontrol.consumer,2.1,9.9,http://tizen.org/privilege/datasharing,
+mobile,http://tizen.org/privilege/datasync,2.1,9.9,http://tizen.org/privilege/notexist,
+common,http://tizen.org/privilege/download,2,9.9,http://tizen.org/privilege/download,
+common,http://tizen.org/privilege/filesystem.read,1,9.9,http://tizen.org/privilege/systemsettings.admin,
+common,http://tizen.org/privilege/filesystem.write,1,9.9,http://tizen.org/privilege/systemsettings.admin,
+mobile,http://tizen.org/privilege/fullscreen,2.1,9.9,http://tizen.org/privilege/notexist,
+common,http://tizen.org/privilege/healthinfo,2.3,9.9,http://tizen.org/privilege/healthinfo,
+common,http://tizen.org/privilege/internet,2.3,9.9,http://tizen.org/privilege/internet,
+common,http://tizen.org/privilege/ime,2.4,9.9,http://tizen.org/privilege/ime,
+mobile,http://tizen.org/privilege/led,2.4,9.9,http://tizen.org/privilege/led,
+common,http://tizen.org/privilege/location,2.1,9.9,http://tizen.org/privilege/location,
+common,http://tizen.org/privilege/location,2.4,9.9,http://tizen.org/privilege/internal/buxton/location,
+common,http://tizen.org/privilege/mediacapture,2.1,9.9,http://tizen.org/privilege/camera,
+common,http://tizen.org/privilege/mediacapture,2.1,9.9,http://tizen.org/privilege/internal/buxton/camcorder,
+common,http://tizen.org/privilege/mediacapture,2.1,9.9,http://tizen.org/privilege/recorder,
+common,http://tizen.org/privilege/mediacontroller.client,2.4,9.9,http://tizen.org/privilege/mediacontroller.client,
+common,http://tizen.org/privilege/mediacontroller.server,2.4,9.9,http://tizen.org/privilege/mediacontroller.server,
+mobile,http://tizen.org/privilege/messaging.read,1,9.9,http://tizen.org/privilege/email,
+mobile,http://tizen.org/privilege/messaging.read,1,9.9,http://tizen.org/privilege/internal/buxton/message.read,
+mobile,http://tizen.org/privilege/messaging.read,1,9.9,http://tizen.org/privilege/mediastorage,
+mobile,http://tizen.org/privilege/messaging.read,1,9.9,http://tizen.org/privilege/message.read,
+mobile,http://tizen.org/privilege/messaging.write,1,9.9,http://tizen.org/privilege/email,"may requires http://tizen.org/privilege/callhistory.read, http://tizen.org/privilege/callhistory.write, http://tizen.org/privilege/contact.read, or http://tizen.org/privilege/contact.write"
+mobile,http://tizen.org/privilege/messaging.write,1,9.9,http://tizen.org/privilege/telephony,
+mobile,http://tizen.org/privilege/messaging.write,1,9.9,http://tizen.org/privilege/message.read,
+mobile,http://tizen.org/privilege/messaging.write,1,9.9,http://tizen.org/privilege/message.write,
+mobile,http://tizen.org/privilege/messaging.write,1,9.9,http://tizen.org/privilege/mediastorage,
+mobile,http://tizen.org/privilege/messaging.write,1,9.9,http://tizen.org/privilege/internal/buxton/message.read,
+mobile,http://tizen.org/privilege/networkbearerselection,2.1,9.9,http://tizen.org/privilege/network.set,
+mobile,http://tizen.org/privilege/nfc.admin,2,9.9,http://tizen.org/privilege/internal/buxton/nfc,
+mobile,http://tizen.org/privilege/nfc.admin,2,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation,
+mobile,http://tizen.org/privilege/nfc.admin,2,9.9,http://tizen.org/privilege/nfc.admin,
+mobile,http://tizen.org/privilege/nfc.admin,2,9.9,http://tizen.org/privilege/secureelement,
+wearable,http://tizen.org/privilege/nfc.admin,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc,
+wearable,http://tizen.org/privilege/nfc.admin,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation,
+wearable,http://tizen.org/privilege/nfc.admin,2.3.1,9.9,http://tizen.org/privilege/nfc.admin,
+wearable,http://tizen.org/privilege/nfc.admin,2.3.1,9.9,http://tizen.org/privilege/secureelement,
+mobile,http://tizen.org/privilege/nfc.cardemulation,2.3,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation,
+mobile,http://tizen.org/privilege/nfc.cardemulation,2.3,9.9,http://tizen.org/privilege/nfc.cardemulation,
+wearable,http://tizen.org/privilege/nfc.cardemulation,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc.cardemulation,
+wearable,http://tizen.org/privilege/nfc.cardemulation,2.3.1,9.9,http://tizen.org/privilege/nfc.cardemulation,
+mobile,http://tizen.org/privilege/nfc.common,2,9.9,http://tizen.org/privilege/internal/buxton/nfc,
+mobile,http://tizen.org/privilege/nfc.common,2,9.9,http://tizen.org/privilege/nfc,
+mobile,http://tizen.org/privilege/nfc.common,2,9.9,http://tizen.org/privilege/secureelement,
+wearable,http://tizen.org/privilege/nfc.common,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc,
+wearable,http://tizen.org/privilege/nfc.common,2.3.1,9.9,http://tizen.org/privilege/nfc,
+wearable,http://tizen.org/privilege/nfc.common,2.3.1,9.9,http://tizen.org/privilege/secureelement,
+mobile,http://tizen.org/privilege/nfc.p2p,1,9.9,http://tizen.org/privilege/internal/buxton/nfc,
+mobile,http://tizen.org/privilege/nfc.p2p,1,9.9,http://tizen.org/privilege/nfc,
+mobile,http://tizen.org/privilege/nfc.p2p,1,9.9,http://tizen.org/privilege/secureelement,
+wearable,http://tizen.org/privilege/nfc.p2p,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc,
+wearable,http://tizen.org/privilege/nfc.p2p,2.3.1,9.9,http://tizen.org/privilege/nfc,
+wearable,http://tizen.org/privilege/nfc.p2p,2.3.1,9.9,http://tizen.org/privilege/secureelement,
+mobile,http://tizen.org/privilege/nfc.tag,1,9.9,http://tizen.org/privilege/internal/buxton/nfc,
+mobile,http://tizen.org/privilege/nfc.tag,1,9.9,http://tizen.org/privilege/nfc,
+mobile,http://tizen.org/privilege/nfc.tag,1,9.9,http://tizen.org/privilege/secureelement,
+wearable,http://tizen.org/privilege/nfc.tag,2.3.1,9.9,http://tizen.org/privilege/internal/buxton/nfc,
+wearable,http://tizen.org/privilege/nfc.tag,2.3.1,9.9,http://tizen.org/privilege/nfc,
+wearable,http://tizen.org/privilege/nfc.tag,2.3.1,9.9,http://tizen.org/privilege/secureelement,
+common,http://tizen.org/privilege/notification,2.1,9.9,http://tizen.org/privilege/notification,
+common,http://tizen.org/privilege/notification,2.1,9.9,http://tizen.org/privilege/packagemanager.info,
+common,http://tizen.org/privilege/package.info,2.1,9.9,http://tizen.org/privilege/packagemanager.info,
+common,http://tizen.org/privilege/packagemanager.install,2.1,9.9,http://tizen.org/privilege/packagemanager.admin,
+common,http://tizen.org/privilege/power,2,9.9,http://tizen.org/privilege/display,
+mobile,http://tizen.org/privilege/push,2.1,9.9,http://tizen.org/privilege/push,
+wearable,http://tizen.org/privilege/push,2.3.1,9.9,http://tizen.org/privilege/push,
+mobile,http://tizen.org/privilege/secureelement,2.1,9.9,http://tizen.org/privilege/secureelement,
+wearable,http://tizen.org/privilege/secureelement,2.3.1,9.9,http://tizen.org/privilege/secureelement,
+common,http://tizen.org/privilege/setting,2,9.9,http://tizen.org/privilege/systemsettings.admin,
+common,http://tizen.org/privilege/system,2.1,9.9,http://tizen.org/privilege/telephony,
+common,http://tizen.org/privilege/systemmanager,2.1,2.3,http://tizen.org/privilege/telephony,
+common,http://tizen.org/privilege/telephony,2.3.1,9.9,http://tizen.org/privilege/telephony,
+common,http://tizen.org/privilege/unlimitedstorage,2.1,9.9,http://tizen.org/privilege/notexist,
+common,http://tizen.org/privilege/volume.set,2.3,9.9,http://tizen.org/privilege/volume.set,
+mobile,http://tizen.org/privilege/websetting,2.2,2.3.1,http://tizen.org/privilege/notexist,
+common,http://tizen.org/privilege/internal/default/public,2.2.1,2.3.1,http://tizen.org/privilege/internal/buxton/location,
+common,http://tizen.org/privilege/internal/default/public,2.2.1,9.9,http://tizen.org/privilege/internal/default/public,
+common,http://tizen.org/privilege/internal/default/public,2.2.1,2.2.1,http://tizen.org/privilege/call,
+common,http://tizen.org/privilege/internal/default/public,2.2.1,2.2.1,http://tizen.org/privilege/internet,
+common,http://tizen.org/privilege/internal/default/public,2.2.1,2.2.1,http://tizen.org/privilege/recorder,
+wearable,http://tizen.org/privilege/internal/default/public,2.2.1,2.2.1,http://tizen.org/privilege/camera,
+common,http://tizen.org/privilege/internal/default/public,2.2.1,9.9,http://tizen.org/privilege/appmanager.launch,
+common,http://tizen.org/privilege/internal/default/public,2.2.1,9.9,http://tizen.org/privilege/haptic,
+common,http://tizen.org/privilege/internal/default/public,2.2.1,9.9,http://tizen.org/privilege/internal/buxton/network.get,
+common,http://tizen.org/privilege/internal/default/public,2.2.1,9.9,http://tizen.org/privilege/internal/buxton/telephony,
+common,http://tizen.org/privilege/internal/default/public,2.2.1,9.9,http://tizen.org/privilege/network.get,
+common,http://tizen.org/privilege/internal/default/public,2.2.1,9.9,http://tizen.org/privilege/notification,
+common,http://tizen.org/privilege/internal/default/public,2.2.1,9.9,http://tizen.org/privilege/packagemanager.info,
+common,http://tizen.org/privilege/internal/default/partner,2.2.1,2.3.1,http://tizen.org/privilege/internal/buxton/location,
+common,http://tizen.org/privilege/internal/default/partner,2.2.1,9.9,http://tizen.org/privilege/internal/default/public,
+common,http://tizen.org/privilege/internal/default/partner,2.2.1,9.9,http://tizen.org/privilege/internal/default/partner,
+common,http://tizen.org/privilege/internal/default/partner,2.2.1,2.2.1,http://tizen.org/privilege/call,
+common,http://tizen.org/privilege/internal/default/partner,2.2.1,2.2.1,http://tizen.org/privilege/internet,
+common,http://tizen.org/privilege/internal/default/partner,2.2.1,2.2.1,http://tizen.org/privilege/recorder,
+wearable,http://tizen.org/privilege/internal/default/partner,2.2.1,2.2.1,http://tizen.org/privilege/camera,
+common,http://tizen.org/privilege/internal/default/partner,2.2.1,9.9,http://tizen.org/privilege/appmanager.launch,
+common,http://tizen.org/privilege/internal/default/partner,2.2.1,9.9,http://tizen.org/privilege/haptic,
+common,http://tizen.org/privilege/internal/default/partner,2.2.1,9.9,http://tizen.org/privilege/internal/buxton/network.get,
+common,http://tizen.org/privilege/internal/default/partner,2.2.1,9.9,http://tizen.org/privilege/internal/buxton/telephony,
+common,http://tizen.org/privilege/internal/default/partner,2.2.1,9.9,http://tizen.org/privilege/network.get,
+common,http://tizen.org/privilege/internal/default/partner,2.2.1,9.9,http://tizen.org/privilege/notification,
+common,http://tizen.org/privilege/internal/default/partner,2.2.1,9.9,http://tizen.org/privilege/packagemanager.info,
+common,http://tizen.org/privilege/internal/default/platform,2.2.1,2.3.1,http://tizen.org/privilege/internal/buxton/location,
+common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/internal/default/public,
+common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/internal/default/partner,
+common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/internal/default/platform,
+common,http://tizen.org/privilege/internal/default/platform,2.2.1,2.2.1,http://tizen.org/privilege/call,
+common,http://tizen.org/privilege/internal/default/platform,2.2.1,2.2.1,http://tizen.org/privilege/internet,
+common,http://tizen.org/privilege/internal/default/platform,2.2.1,2.2.1,http://tizen.org/privilege/recorder,
+wearable,http://tizen.org/privilege/internal/default/platform,2.2.1,2.2.1,http://tizen.org/privilege/camera,
+common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/appmanager.launch,
+common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/haptic,
+common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/internal/buxton/network.get,
+common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/internal/buxton/telephony,
+common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/network.get,
+common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/notification,
+common,http://tizen.org/privilege/internal/default/platform,2.2.1,9.9,http://tizen.org/privilege/packagemanager.info,
#include <stdlib.h>
#define PRIVILEGE_INFO_CORE_DB_PATH "/usr/share/privilege-manager/.core_privilege_info.db"
#define PRIVILEGE_INFO_WRT_DB_PATH "/usr/share/privilege-manager/.wrt_privilege_info.db"
+#define PRIVILEGE_MAPPING_CORE_DB_PATH "/usr/share/privilege-manager/.core_privilege_mapping.db"
+#define PRIVILEGE_MAPPING_WRT_DB_PATH "/usr/share/privilege-manager/.wrt_privilege_mapping.db"
#ifdef LOG_TAG
#undef LOG_TAG
}
return PRIVILEGE_DB_MANAGER_ERR_NONE;
}
+
+int __initialize_mapping_db(sqlite3** db, privilege_db_manager_package_type_e package_type)
+{
+ char* db_path = NULL;
+
+ if(package_type == PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE){
+ db_path = PRIVILEGE_MAPPING_CORE_DB_PATH;
+ }else{
+ db_path = PRIVILEGE_MAPPING_WRT_DB_PATH;
+ }
+
+ int ret = sqlite3_open_v2(db_path, db, SQLITE_OPEN_READONLY, NULL);
+ if(ret != SQLITE_OK)
+ {
+ LOGE("[DB_FAIL] Can't open database %s : %s", db_path, sqlite3_errmsg(*db));
+ sqlite3_close(*db);
+ return PRIVILEGE_DB_MANAGER_ERR_CONNECTION_FAIL;
+ }
+ return PRIVILEGE_DB_MANAGER_ERR_NONE;
+}
+
void __finalize_db(sqlite3* db, sqlite3_stmt* stmt)
{
if(stmt != NULL)
if(ret == SQLITE_ROW)
{
privilege_info_db_row_s* privilege_info_db_row = (privilege_info_db_row_s*)malloc(sizeof(privilege_info_db_row_s));
- TryReturn(privilege_info_db_row != NULL, free(privilege_info_db_row), PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY, "[PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY] privilege_name's strdup is failed.");
+ TryReturn(privilege_info_db_row != NULL, free(privilege_info_db_row), PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY, "[PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY] privilege_info_db_row's malloc is failed.");
privilege_info_db_row->profile = NULL;
privilege_info_db_row->package_type = NULL;
return PRIVILEGE_DB_MANAGER_ERR_NONE;
}
+
+int privilege_db_manager_get_mapped_privilege_list(const char* api_version, privilege_db_manager_package_type_e package_type, GList* privilege_list, GList** mapped_privilege_list)
+{
+ sqlite3* db = NULL;
+ sqlite3_stmt* stmt = NULL;
+ int ret;
+
+ ret = __initialize_mapping_db(&db, package_type);
+ if(ret != PRIVILEGE_DB_MANAGER_ERR_NONE)
+ return ret;
+
+ GList* temp_privilege_list = NULL;
+
+ char* privilege_list_str = NULL;
+ GList* l;
+ for (l = privilege_list; l != NULL; l = l->next) {
+ char* privilege_name = (char*)l->data;
+ if (privilege_list_str == NULL) {
+ size_t size = snprintf(0, 0, "'%s'", privilege_name) + 1;
+ privilege_list_str = (char*)malloc(size*sizeof(char));
+ TryReturn(privilege_list_str != NULL,, PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY, "[PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY] privilege_list_str's malloc is failed.");
+ snprintf(privilege_list_str, size, "'%s'", privilege_name);
+ LOGD("privilege_list_str = %s", privilege_list_str);
+ } else {
+ size_t new_size = snprintf(0, 0, "%s, '%s'", privilege_list_str, privilege_name) + 1;
+ privilege_list_str = realloc(privilege_list_str, new_size*sizeof(char));
+ TryReturn(privilege_list_str != NULL, free(privilege_list_str), PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY, "[PRIVILEGE_DB_MANAGER_ERR_OUT_OF_MEMORY] privilege_list_str's realloc is failed.");
+ strncat(privilege_list_str, ", '", strlen(", '"));
+ strncat(privilege_list_str, privilege_name, strlen(privilege_name));
+ strncat(privilege_list_str, "'", strlen("'"));
+ LOGD("privilege_list_str = %s", privilege_list_str);
+ }
+ }
+
+ char* sql = sqlite3_mprintf("select distinct mapped_privilege_name from privilege_mapping where privilege_name in (%s) and (profile_id=%d or profile_id=%d) and from_api_version<=%Q and to_api_version>=%Q", privilege_list_str, PRIVILEGE_DB_MANAGER_PROFILE_TYPE_COMMON, g_privilege_db_manager_profile_type, api_version, api_version);
+ free(privilege_list_str);
+
+ ret = sqlite3_prepare_v2(db, sql, strlen(sql), &stmt, NULL);
+ if(ret != SQLITE_OK)
+ {
+ LOGE("[DB_FAIL] fail to prepare database : %s", sqlite3_errmsg(db));
+ sqlite3_close(db);
+ return PRIVILEGE_DB_MANAGER_ERR_INVALID_QUERY;
+ }
+
+ do{
+ ret = sqlite3_step(stmt);
+ if(ret == SQLITE_ROW)
+ {
+ char* privilege_name = strdup((char*)sqlite3_column_text(stmt,0));
+ temp_privilege_list = g_list_append(temp_privilege_list, privilege_name);
+ }
+ }while (ret == SQLITE_ROW);
+
+ *mapped_privilege_list = temp_privilege_list;
+
+ __finalize_db(db, stmt);
+
+ return PRIVILEGE_DB_MANAGER_ERR_NONE;
+}
+
+
int privilege_db_manager_get_privilege_display(privilege_db_manager_package_type_e package_type, const char* privilege_name, const char* api_version, char** privilege_display)
{
sqlite3* db = NULL;
}
}
+int __check_api_version_validity(const char* api_version) {
+
+ int i;
+ int is_vaild_version_type = 1;
+ int api_version_size = strlen(api_version);
+ if( api_version_size % 2 == 1 && (3 <= api_version_size && api_version_size <= 7) ){
+ for(i=0; i<api_version_size; i++){
+ if(i % 2 == 0){
+ if( !('0' <= api_version[i] && api_version[i] <= '9') ){
+ is_vaild_version_type = 0;
+ }
+ }else{
+ if(api_version[i] != '.'){
+ is_vaild_version_type = 0;
+ }
+ }
+ }
+ }else{
+ is_vaild_version_type = 0;
+ }
+
+ if(is_vaild_version_type == 0){
+ return PRVMGR_ERR_INVALID_PARAMETER;
+ }
+
+ return PRVMGR_ERR_NONE;
+}
int privilege_manager_verify_privilege(const char* api_version, privilege_manager_package_type_e package_type, GList* privilege_list, privilege_manager_visibility_e visibility, char **error_message)
{
int i = 0;
//Check invaild parameters
- if (api_version == NULL){
+ if (api_version == NULL){
LOGE("[PRVMGR_ERR_INVALID_PARAMETER] api_version is NULL");
*error_message = strdup("[PRVMGR_ERR_INVALID_PARAMETER] api_version is NULL");
TryReturn(error_message != NULL,, PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] error_message's strdup is failed.");
return PRVMGR_ERR_INVALID_PARAMETER;
- }else{
- int is_vaild_version_type = 1;
- int api_version_size = strlen(api_version);
- if( api_version_size % 2 == 1 && (3 <= api_version_size && api_version_size <= 7) ){
- for(i=0; i<api_version_size; i++){
- if(i % 2 == 0){
- if( !('0' <= api_version[i] && api_version[i] <= '9') ){
- is_vaild_version_type = 0;
- }
- }else{
- if(api_version[i] != '.'){
- is_vaild_version_type = 0;
- }
- }
- }
- }else{
- is_vaild_version_type = 0;
- }
-
- if(is_vaild_version_type == 0){
- LOGE("[PRVMGR_ERR_INVALID_PARAMETER] %s is in invaild form. api_version form should be X.X, X.X.X or X.X.X.X (X=integer)", api_version);
- *error_message = strdup("[PRVMGR_ERR_INVALID_PARAMETER] api_version form should be a X.X, X.X.X or X.X.X.X (X=integer)");
- TryReturn(error_message != NULL,, PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] error_message's strdup is failed");
-
- return PRVMGR_ERR_INVALID_PARAMETER;
- }
- }
+ } else {
+ ret = __check_api_version_validity(api_version);
+ if (ret != PRVMGR_ERR_NONE) {
+ LOGE("[PRVMGR_ERR_INVALID_PARAMETER] %s is in invaild form. api_version form should be X.X, X.X.X or X.X.X.X (X=integer)", api_version);
+ *error_message = strdup("[PRVMGR_ERR_INVALID_PARAMETER] api_version form should be a X.X, X.X.X or X.X.X.X (X=integer)");
+ TryReturn(error_message != NULL,, PRVMGR_ERR_OUT_OF_MEMORY, "[PRVMGR_ERR_OUT_OF_MEMORY] error_message's strdup is failed");
+ return ret;
+ }
+ }
if(package_type != PRVMGR_PACKAGE_TYPE_WRT && package_type != PRVMGR_PACKAGE_TYPE_CORE){
LOGD("checking package type = %d", package_type);
}
+int privilege_manager_get_mapped_privilege_list(const char* api_version, privilege_manager_package_type_e package_type, GList* privilege_list, GList** mapped_privilege_list)
+{
+ int ret;
+ TryReturn(api_version != NULL, , PRVMGR_ERR_INVALID_PARAMETER, "[PRVMGR_ERR_INVALID_PARAMETER] api_version is NULL.");
+ ret = __check_api_version_validity(api_version);
+ TryReturn(ret == PRVMGR_ERR_NONE, , PRVMGR_ERR_INVALID_PARAMETER, "[PRVMGR_ERR_INVALID_PARAMETER] %s is in invaild form. api_version form should be X.X, X.X.X or X.X.X.X (X=integer)", api_version);
+
+ if (package_type != PRVMGR_PACKAGE_TYPE_WRT && package_type != PRVMGR_PACKAGE_TYPE_CORE) {
+ LOGE("[PRVMGR_ERR_INVALID_PARAMETER] package_type is not a PRVMGR_PACKAGE_TYPE_WRT or PRVMGR_PACKAGE_TYPE_CORE");
+ return PRVMGR_ERR_INVALID_PARAMETER;
+ }
+
+ TryReturn(privilege_list != NULL, , PRVMGR_ERR_INVALID_PARAMETER, "[PRVMGR_ERR_INVALID_PARAMETER] privilege_list is NULL.");
+ ret = privilege_db_manager_get_mapped_privilege_list(api_version, package_type, privilege_list, mapped_privilege_list);
+ TryReturn(ret == PRVMGR_ERR_NONE, , PRVMGR_ERR_INTERNAL_ERROR, "[PRVMGR_ERR_INTERNAL_ERROR] privilege_db_manager_get_mapped_privilege_list failed, ret = %d", ret);
+ return ret;
+}
Name: privilege-checker
Summary: Privilege Management
-Version: 0.0.4
+Version: 0.0.5
Release: 3
Group: System/Libraries
License: Apache-2.0
%package -n tc-privilege-checker
Summary: tc-privilege-checker
+BuildRequires: pkgconfig(security-manager)
%description -n tc-privilege-checker
Testsuit for Privilege Manager APIs
sqlite3 /%{buildroot}%{_datadir}/privilege-manager/.wrt_privilege_info.db "select * from privilege_info"
cp capi/res/dbspace/tv_core_privilege_info.db %{buildroot}%{_datadir}/privilege-manager/.core_privilege_info.db
sqlite3 /%{buildroot}%{_datadir}/privilege-manager/.core_privilege_info.db "select * from privilege_info"
+cp capi/res/dbspace/tv_wrt_privilege_mapping.db %{buildroot}%{_datadir}/privilege-manager/.wrt_privilege_mapping.db
+sqlite3 /%{buildroot}%{_datadir}/privilege-manager/.wrt_privilege_mapping.db "select * from privilege_mapping"
+cp capi/res/dbspace/tv_core_privilege_mapping.db %{buildroot}%{_datadir}/privilege-manager/.core_privilege_mapping.db
+sqlite3 /%{buildroot}%{_datadir}/privilege-manager/.core_privilege_mapping.db "select * from privilege_mapping"
%else
cp capi/res/dbspace/core_privilege_info.db %{buildroot}%{_datadir}/privilege-manager/.core_privilege_info.db
sqlite3 /%{buildroot}%{_datadir}/privilege-manager/.core_privilege_info.db "select * from privilege_info"
cp capi/res/dbspace/wrt_privilege_info.db %{buildroot}%{_datadir}/privilege-manager/.wrt_privilege_info.db
sqlite3 /%{buildroot}%{_datadir}/privilege-manager/.wrt_privilege_info.db "select * from privilege_info"
+cp capi/res/dbspace/core_privilege_mapping.db %{buildroot}%{_datadir}/privilege-manager/.core_privilege_mapping.db
+sqlite3 /%{buildroot}%{_datadir}/privilege-manager/.core_privilege_mapping.db "select * from privilege_mapping"
+cp capi/res/dbspace/wrt_privilege_mapping.db %{buildroot}%{_datadir}/privilege-manager/.wrt_privilege_mapping.db
+sqlite3 /%{buildroot}%{_datadir}/privilege-manager/.wrt_privilege_mapping.db "select * from privilege_mapping"
%endif
%make_install
%{_datadir}/locale/*
#%if "%{?profile}" != "tv"
%{_datadir}/privilege-manager/.core_privilege_info.db
+%{_datadir}/privilege-manager/.core_privilege_mapping.db
#%endif
%{_datadir}/privilege-manager/.wrt_privilege_info.db
+%{_datadir}/privilege-manager/.wrt_privilege_mapping.db
%manifest packaging/capi-security-privilege-manager.manifest
%files -n capi-security-privilege-manager-devel
ADD_DEFINITIONS("-DPROFILE_TYPE_TV")
ENDIF()
-SET(requires glib-2.0 dlog)
+SET(requires glib-2.0 dlog security-manager)
INCLUDE(FindPkgConfig)
pkg_check_modules(${PACKAGE_NAME} REQUIRED ${requires})
FOREACH(flag ${${PACKAGE_NAME}_CFLAGS})
ADD_EXECUTABLE(${TC2_NAME} ${TC2_SRCS})
ADD_EXECUTABLE(${TC3_NAME} ${TC3_SRCS})
-TARGET_LINK_LIBRARIES(${TC1_NAME} "capi-security-privilege-manager")
+TARGET_LINK_LIBRARIES(${TC1_NAME}
+ "capi-security-privilege-manager"
+ "security-manager-client"
+ "security-manager-commons"
+ )
TARGET_LINK_LIBRARIES(${TC2_NAME} "capi-security-privilege-manager")
TARGET_LINK_LIBRARIES(${TC3_NAME} "capi-security-privilege-manager")
#include <stdio.h>
#include <privilege_db_manager.h>
+#include <security-manager.h>
#define BRIGHTNESS 0
#define RED 31
success_cnt++;
}
+void __test_privilege_db_manager_get_mapped_privilege_list(){
+ GList* privilege_list;
+ GList* mapped_privilege_list;
+ GList* l;
+ int ret;
+
+ printf("-----------------------------------------------------------\n");
+ printf("privilege : http://tizen.org/privilege/internal/default/public\n");
+ printf("api_version : 2.4\n");
+ printf("package type : wrt\n");
+ privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/internal/default/public");
+ ret = privilege_db_manager_get_mapped_privilege_list("2.4", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+
+ for (l = mapped_privilege_list; l != NULL; l = l->next) {
+ char* privilege_name = (char*)l->data;
+ printf("mapped_privilege_name = %s\n", privilege_name);
+ }
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+ g_list_free(mapped_privilege_list);
+ mapped_privilege_list = NULL;
+
+ printf("-----------------------------------------------------------\n");
+ printf("privilege : http://tizen.org/privilege/mediacapture\n");
+ printf("api_version : 2.4\n");
+ printf("package type : wrt\n");
+ privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/mediacapture");
+ ret = privilege_db_manager_get_mapped_privilege_list("2.4", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+ for (l = mapped_privilege_list; l != NULL; l = l->next) {
+ char* privilege_name = (char*)l->data;
+ printf("mapped_privilege_name = %s\n", privilege_name);
+ }
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+ g_list_free(mapped_privilege_list);
+ mapped_privilege_list = NULL;
+
+ printf("-----------------------------------------------------------\n");
+ printf("privilege : http://tizen.org/privilege/internal/default/public\n");
+ printf("privilege : http://tizen.org/privilege/mediacapture\n");
+ printf("api_version : 2.4\n");
+ printf("package type : wrt\n");
+ privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/internal/default/public");
+ privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/mediacapture");
+ ret = privilege_db_manager_get_mapped_privilege_list("2.4", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+
+ for (l = mapped_privilege_list; l != NULL; l = l->next) {
+ char* privilege_name = (char*)l->data;
+ printf("mapped_privilege_name = %s\n", privilege_name);
+ }
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+ g_list_free(mapped_privilege_list);
+ mapped_privilege_list = NULL;
+
+ printf("-----------------------------------------------------------\n");
+ printf("privilege : http://tizen.org/privilege/internal/default/public\n");
+ printf("api_version : 2.2.1\n");
+ printf("package type : wrt\n");
+ privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/internal/default/public");
+ ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+
+ for (l = mapped_privilege_list; l != NULL; l = l->next) {
+ char* privilege_name = (char*)l->data;
+ printf("mapped_privilege_name = %s\n", privilege_name);
+ }
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+ g_list_free(mapped_privilege_list);
+ mapped_privilege_list = NULL;
+
+ printf("-----------------------------------------------------------\n");
+ printf("privilege : http://tizen.org/privilege/mediacapture\n");
+ printf("api_version : 2.2.1\n");
+ printf("package type : wrt\n");
+ privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/mediacapture");
+ ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+ for (l = mapped_privilege_list; l != NULL; l = l->next) {
+ char* privilege_name = (char*)l->data;
+ printf("mapped_privilege_name = %s\n", privilege_name);
+ }
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+ g_list_free(mapped_privilege_list);
+ mapped_privilege_list = NULL;
+
+ printf("-----------------------------------------------------------\n");
+ printf("privilege : http://tizen.org/privilege/content.read\n");
+ printf("api_version : 2.2.1\n");
+ printf("package type : wrt\n");
+ privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/content.read");
+ ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+ for (l = mapped_privilege_list; l != NULL; l = l->next) {
+ char* privilege_name = (char*)l->data;
+ printf("mapped_privilege_name = %s\n", privilege_name);
+ }
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+ g_list_free(mapped_privilege_list);
+ mapped_privilege_list = NULL;
+
+ printf("-----------------------------------------------------------\n");
+ printf("privilege : http://tizen.org/privilege/internal/webappdefault\n");
+ printf("privilege : http://tizen.org/privilege/internal/default/public\n");
+ printf("privilege : http://tizen.org/privilege/mediacapture\n");
+ printf("privilege : http://tizen.org/privilege/content.read\n");
+ printf("api_version : 2.2.1\n");
+ printf("package type : wrt\n");
+ privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/internal/webappdefault");
+ privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/internal/default/public");
+ privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/mediacapture");
+ privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/content.read");
+ ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+
+ for (l = mapped_privilege_list; l != NULL; l = l->next) {
+ char* privilege_name = (char*)l->data;
+ printf("mapped_privilege_name = %s\n", privilege_name);
+ }
+
+ printf("-----------------------------------------------------------\n");
+ printf("Compare with security_manager_get_privileges_mapping(const char *from_version, const char *to_version, char const * const *privileges, size_t privileges_count, char ***privileges_mappings, size_t *mappings_count)\n");
+
+ printf("privilege : http://tizen.org/privilege/internal/default/public\n");
+ printf("privilege : http://tizen.org/privilege/mediacapture\n");
+ printf("privilege : http://tizen.org/privilege/content.read\n");
+ printf("privilege : http://tizen.org/privilege/internal/webappdefault\n");
+
+ char** input_privileges = (char**)malloc(sizeof(char*)*20);
+ size_t input_size = 0;
+ input_privileges[input_size++] = strdup("http://tizen.org/privilege/internal/webappdefault");
+ input_privileges[input_size++] = strdup("http://tizen.org/privilege/internal/default/public");
+ input_privileges[input_size++] = strdup("http://tizen.org/privilege/mediacapture");
+ input_privileges[input_size++] = strdup("http://tizen.org/privilege/content.read");
+ char** output_privileges = NULL;
+ size_t output_size;
+ ret = security_manager_get_privileges_mapping("2.2.1", "3.0", input_privileges, input_size, &output_privileges, &output_size);
+ int i;
+ printf("output_size = %d\n", output_size);
+ for (i = 0; i < output_size; i++) {
+ printf("mapped_privilege_name = %s\n", output_privileges[i]);
+ }
+
+
+ __change_color_to_green();
+ printf("test success\n");
+ __change_color_to_origin();
+ success_cnt++;
+}
+
void __check_get_privilege_display_result(privilege_db_manager_error_e expected_result, privilege_db_manager_error_e result, char* privilege_display)
{
printf("expected result = %s, result = %s\n", __get_result_string(expected_result), __get_result_string(result));
int main()
{
- __change_color_to_yellow();
+/* __change_color_to_yellow();
printf("Test function : privilege_db_manager_get_privilege_list\n");
__change_color_to_origin();
- __test_privilege_db_manager_get_privilege_list();
+ __test_privilege_db_manager_get_privilege_list();*/
- __change_color_to_yellow();
+ __change_color_to_yellow();
+ printf("Test function : privilege_db_manager_get_mapped_privilege_list\n");
+ __change_color_to_origin();
+ __test_privilege_db_manager_get_mapped_privilege_list();
+
+/* __change_color_to_yellow();
printf("Test function : privilege_db_manager_get_privilege_display\n");
__change_color_to_origin();
__test_privilege_db_manager_get_privilege_display();
printf("success : %d, ", success_cnt);
__change_color_to_red();
printf("fail : %d\n", fail_cnt);
- __change_color_to_origin();
+ __change_color_to_origin();*/
return 0;
}
if (strstr(error_message, "MISMATCHED") != NULL) {
strncat(err_type, "PRVMGR_ERR_MISMACHED_PRIVILEGE_LEVEL ", strlen("PRVMGR_ERR_MISMACHED_PRIVILEGE_LEVEL "));
}
+ if (strstr(error_message, "INVALID_PARAMETER") != NULL) {
+ strncat(err_type, "PRVMGR_ERR_INVALID_PARAMETER ", strlen("PRVMGR_ERR_INVALID_PARAMETER "));
+ }
if (strlen(err_type) == 0) {
fail_cnt++;
}
static const char* __get_result_string(privilege_manager_error_e ret){
- if(ret == PRVMGR_ERR_NONE){
+ if (ret == PRVMGR_ERR_NONE) {
return "PRVMGR_ERR_NONE";
- }
- else if(ret == PRVMGR_ERR_INTERNAL_ERROR){
+ } else if (ret == PRVMGR_ERR_INTERNAL_ERROR) {
return "PRVMGR_ERR_INTERNAL_ERROR";
- }
- else if(ret == PRVMGR_ERR_INVALID_PRIVILEGE){
+ } else if (ret == PRVMGR_ERR_INVALID_PRIVILEGE) {
return "PRVMGR_ERR_INVALID_PRIVILEGE";
- }
- else
- {
+ } else if (ret == PRVMGR_ERR_INVALID_PARAMETER) {
+ return "PRVMGR_ERR_INVALID_PARAMETER";
+ } else {
return "FAIL";
}
}
printf("===================================================================\n");
}
+static void __print_privilege_list(GList* privilege_list)
+{
+ GList* l;
+ printf("Print mapped privilege list: \n");
+ for (l = privilege_list; l != NULL; l = l->next){
+ char* privilege_name = (char*)l->data;
+ printf("%s\n", privilege_name);
+ }
+}
+
static void __check_verify_result(privilege_manager_error_e expected_result, privilege_manager_error_e result)
{
if(expected_result != result)
__change_color_to_origin();
}
+static void __test_privilege_manager_get_mapped_privilege_list()
+{
+ int ret = 0;
+ GList* mapped_privilege_list;
+
+ __tcinfo(goal, "api_version == NULL");
+ __privinfo("http://tizen.org/privilege/internal/default/public", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/account.read", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/camera", NULL, NULL);
+ __tcinfo(expect, "PRVMGR_ERR_INVALID_PARAMETER");
+ ret = privilege_manager_get_mapped_privilege_list(NULL, PRVMGR_PACKAGE_TYPE_CORE, privilege_list, &mapped_privilege_list);
+ __print_result(__get_result_string(ret));
+ __check_verify_result(PRVMGR_ERR_INVALID_PARAMETER, ret);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+ __tcinfo(goal, "api_version == 2.3.4.5.1");
+ __privinfo("http://tizen.org/privilege/internal/default/public", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/account.read", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/camera", NULL, NULL);
+ __tcinfo(expect, "PRVMGR_ERR_INVALID_PARAMETER");
+ ret = privilege_manager_get_mapped_privilege_list("2.3.4.5.1", PRVMGR_PACKAGE_TYPE_CORE, privilege_list, &mapped_privilege_list);
+ __print_result(__get_result_string(ret));
+ __check_verify_result(PRVMGR_ERR_INVALID_PARAMETER, ret);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+ __tcinfo(goal, "api_version == 2.3");
+ __privinfo("http://tizen.org/privilege/wrong-privilege-name", NULL, NULL);
+ __tcinfo(expect, "PRVMGR_ERR_NONE");
+ ret = privilege_manager_get_mapped_privilege_list("2.3", PRVMGR_PACKAGE_TYPE_CORE, privilege_list, &mapped_privilege_list);
+ __print_result(__get_result_string(ret));
+ __check_verify_result(PRVMGR_ERR_NONE, ret);
+ if (mapped_privilege_list == NULL) printf("it's null\n");
+ else printf("it's NOT null\n");
+ __print_privilege_list(mapped_privilege_list);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+
+#ifdef PROFILE_TYPE_MOBILE
+
+ /* 2.3 core - mobile */
+ __print_dline();
+ __change_to_bold_yellow();
+ __tcinfo(api_version, "2.3");
+ __tcinfo(pkg_type, "core");
+ __change_color_to_origin();
+ __print_dline();
+
+ __tcinfo(goal, "normal mapping");
+ __privinfo("http://tizen.org/privilege/internal/default/public", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/account.read", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/camera", NULL, NULL);
+ __tcinfo(expect, "PRVMGR_ERR_NONE");
+ ret = privilege_manager_get_mapped_privilege_list("2.3", PRVMGR_PACKAGE_TYPE_CORE, privilege_list, &mapped_privilege_list);
+ __print_result(__get_result_string(ret));
+ __check_verify_result(PRVMGR_ERR_NONE, ret);
+ __print_privilege_list(mapped_privilege_list);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+
+ __tcinfo(goal, "normal mapping");
+ __privinfo("http://tizen.org/privilege/internal/default/public", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/account.write", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/nfc.admin", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/contact.read", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/calendar.read", NULL, NULL);
+ __tcinfo(expect, "PRVMGR_ERR_NONE");
+ ret = privilege_manager_get_mapped_privilege_list("2.3", PRVMGR_PACKAGE_TYPE_CORE, privilege_list, &mapped_privilege_list);
+ __print_result(__get_result_string(ret));
+ __check_verify_result(PRVMGR_ERR_NONE, ret);
+ __print_privilege_list(mapped_privilege_list);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+
+ /* 2.2.1 wrt - mobile */
+ __print_dline();
+ __change_to_bold_yellow();
+ __tcinfo(api_version, "2.2.1");
+ __tcinfo(pkg_type, "wrt");
+ __change_color_to_origin();
+ __print_dline();
+
+ __tcinfo(goal, "normal mapping");
+ __privinfo("http://tizen.org/privilege/internal/default/public", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/account.write", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/nfc.admin", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/contact.read", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/calendar.read", NULL, NULL);
+ __tcinfo(expect, "PRVMGR_ERR_NONE");
+ ret = privilege_manager_get_mapped_privilege_list("2.2.1", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+ __print_result(__get_result_string(ret));
+ __check_verify_result(PRVMGR_ERR_NONE, ret);
+ __print_privilege_list(mapped_privilege_list);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+
+
+ __tcinfo(goal, "normal mapping");
+ __privinfo("http://tizen.org/privilege/internal/default/platform", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/account.read", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/nfc.admin", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/contact.write", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/datasync", NULL, NULL);
+ __tcinfo(expect, "PRVMGR_ERR_NONE");
+ ret = privilege_manager_get_mapped_privilege_list("2.2.1", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+ __print_result(__get_result_string(ret));
+ __check_verify_result(PRVMGR_ERR_NONE, ret);
+ __print_privilege_list(mapped_privilege_list);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+
+
+ __tcinfo(goal, "normal mapping");
+ __privinfo("http://tizen.org/privilege/internal/default/public", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/content.read", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/nfc.p2p", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/call", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/internet", NULL, NULL);
+ __tcinfo(expect, "PRVMGR_ERR_NONE");
+ ret = privilege_manager_get_mapped_privilege_list("2.2.1", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+ __print_result(__get_result_string(ret));
+ __check_verify_result(PRVMGR_ERR_NONE, ret);
+ __print_privilege_list(mapped_privilege_list);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+
+ /* 2.3 wrt - mobile */
+ __print_dline();
+ __change_to_bold_yellow();
+ __tcinfo(api_version, "2.3");
+ __tcinfo(pkg_type, "wrt");
+ __change_color_to_origin();
+ __print_dline();
+
+ __tcinfo(goal, "normal mapping");
+ __privinfo("http://tizen.org/privilege/internal/default/public", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/account.write", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/nfc.admin", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/contact.read", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/calendar.read", NULL, NULL);
+ __tcinfo(expect, "PRVMGR_ERR_NONE");
+ ret = privilege_manager_get_mapped_privilege_list("2.3", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+ __print_result(__get_result_string(ret));
+ __check_verify_result(PRVMGR_ERR_NONE, ret);
+ __print_privilege_list(mapped_privilege_list);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+
+
+ __tcinfo(goal, "normal mapping");
+ __privinfo("http://tizen.org/privilege/internal/default/platform", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/account.read", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/nfc.admin", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/contact.write", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/datasync", NULL, NULL);
+ __tcinfo(expect, "PRVMGR_ERR_NONE");
+ ret = privilege_manager_get_mapped_privilege_list("2.3", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+ __print_result(__get_result_string(ret));
+ __check_verify_result(PRVMGR_ERR_NONE, ret);
+ __print_privilege_list(mapped_privilege_list);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+
+
+ __tcinfo(goal, "normal mapping");
+ __privinfo("http://tizen.org/privilege/internal/default/public", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/content.read", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/nfc.p2p", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/call", NULL, NULL);
+ __privinfo("http://tizen.org/privilege/internet", NULL, NULL);
+ __tcinfo(expect, "PRVMGR_ERR_NONE");
+ ret = privilege_manager_get_mapped_privilege_list("2.3", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+ __print_result(__get_result_string(ret));
+ __check_verify_result(PRVMGR_ERR_NONE, ret);
+ __print_privilege_list(mapped_privilege_list);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+
+ __tcinfo(goal, "normal mapping");
+ __privinfo("http://tizen.org/privilege/location", NULL, NULL);
+ __tcinfo(expect, "PRVMGR_ERR_NONE");
+ ret = privilege_manager_get_mapped_privilege_list("2.3", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+ __print_result(__get_result_string(ret));
+ __check_verify_result(PRVMGR_ERR_NONE, ret);
+ __print_privilege_list(mapped_privilege_list);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+
+ __tcinfo(goal, "normal mapping");
+ __privinfo("http://tizen.org/privilege/internal/default/platform", NULL, NULL);
+ __tcinfo(expect, "PRVMGR_ERR_NONE");
+ ret = privilege_manager_get_mapped_privilege_list("2.3", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+ __print_result(__get_result_string(ret));
+ __check_verify_result(PRVMGR_ERR_NONE, ret);
+ __print_privilege_list(mapped_privilege_list);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+
+
+ /* 2.4 wrt - mobile */
+ __print_dline();
+ __change_to_bold_yellow();
+ __tcinfo(api_version, "2.4");
+ __tcinfo(pkg_type, "wrt");
+ __change_color_to_origin();
+ __print_dline();
+
+ __tcinfo(goal, "normal mapping");
+ __privinfo("http://tizen.org/privilege/location", NULL, NULL);
+ __tcinfo(expect, "PRVMGR_ERR_NONE");
+ ret = privilege_manager_get_mapped_privilege_list("2.4", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+ __print_result(__get_result_string(ret));
+ __check_verify_result(PRVMGR_ERR_NONE, ret);
+ __print_privilege_list(mapped_privilege_list);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+
+ __tcinfo(goal, "normal mapping");
+ __privinfo("http://tizen.org/privilege/internal/default/platform", NULL, NULL);
+ __tcinfo(expect, "PRVMGR_ERR_NONE");
+ ret = privilege_manager_get_mapped_privilege_list("2.4", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
+ __print_result(__get_result_string(ret));
+ __check_verify_result(PRVMGR_ERR_NONE, ret);
+ __print_privilege_list(mapped_privilege_list);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+
+#endif
+}
+
static void __test_privilege_manager_verify_privilege()
{
char* error_message = NULL;
int ret = 0;
+ __tcinfo(goal, "api_version == NULL");
+ __privinfo("http://tizen.org/privilege/account.read", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/account.write", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/alarm.get", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/bluetooth", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/calendar.read", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/systemsettings", "Public", NULL);
+ __tcinfo(cert_level, "public");
+ __tcinfo(expect, "PRVMGR_ERR_INVALID_PARAMETER");
+ ret = privilege_manager_verify_privilege(NULL, PRVMGR_PACKAGE_TYPE_CORE, privilege_list, PRVMGR_PACKAGE_VISIBILITY_PUBLIC, &error_message);
+ ShowErrorMsg(error_message != NULL, error_message, ret);
+ __check_verify_result(PRVMGR_ERR_INVALID_PARAMETER, ret);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+
+ __tcinfo(goal, "invalid api_version == 2.3.4.2.1");
+ __privinfo("http://tizen.org/privilege/account.read", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/account.write", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/alarm.get", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/bluetooth", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/calendar.read", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/systemsettings", "Public", NULL);
+ __tcinfo(cert_level, "public");
+ __tcinfo(expect, "PRVMGR_ERR_INVALID_PARAMETER");
+ ret = privilege_manager_verify_privilege("2.3.4.2.1", PRVMGR_PACKAGE_TYPE_CORE, privilege_list, PRVMGR_PACKAGE_VISIBILITY_PUBLIC, &error_message);
+ ShowErrorMsg(error_message != NULL, error_message, ret);
+ __check_verify_result(PRVMGR_ERR_INVALID_PARAMETER, ret);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+
#ifdef PROFILE_TYPE_MOBILE
/* 2.3 core - mobile */
__check_verify_result(PRVMGR_ERR_INVALID_PRIVILEGE, ret);
__print_line();
#endif
+ g_list_free(privilege_list);
+ privilege_list = NULL;
}
int main()
__change_color_to_origin();
__test_privilege_manager_verify_privilege();
+ __change_color_to_yellow();
+ printf("Test function : privilege_manager_get_mapped_privilege_list\n");
+ __change_color_to_origin();
+ __test_privilege_manager_get_mapped_privilege_list();
+
__change_color_to_green();
printf("Test Complete\n");
printf("success : %d, ", success_cnt);