* limitations under the License.
*/
/*
- * @file task_certify.cpp
+ * @file task_certify_level.cpp
* @author Jihoon Chung (jihoon.chung@samgsung.com)
* @version
* @brief
void TaskCertifyLevel::stepCertifyLevel()
{
LogDebug("================ Step: <<Certify Level>> ENTER ===============");
- if (!checkSettingLevel(getCertifyLevel())) {
+ if (!checkConfigurationLevel(getCertifyLevel())) {
ThrowMsg(Exceptions::PrivilegeLevelViolation, "setting level violate");
}
LogDebug("================ Step: <<Certify Level>> DONE ================");
return level;
}
+bool TaskCertifyLevel::checkConfigurationLevel(
+ TaskCertifyLevel::Level level)
+{
+ if (!checkSettingLevel(level)) {
+ return false;
+ }
+ if (!checkAppcontrolHasDisposition(level)) {
+ return false;
+ }
+ return true;
+}
+
bool TaskCertifyLevel::checkSettingLevel(
TaskCertifyLevel::Level level)
{
return true;
}
+bool TaskCertifyLevel::checkAppcontrolHasDisposition(
+ TaskCertifyLevel::Level level)
+{
+ // tizen:disposition -> platform
+ FOREACH(it, m_contextData.widgetConfig.configInfo.appControlList) {
+ if (ConfigParserData::AppControlInfo::Disposition::UNDEFINE !=
+ it->m_disposition)
+ {
+ if (level < Level::PLATFORM) {
+ LogError("\"tizen:disposition\" needs \"" <<
+ enumToString(Level::PLATFORM) <<
+ "\" level");
+ return false;
+ }
+ }
+ }
+ return true;
+}
+
std::string TaskCertifyLevel::enumToString(
TaskCertifyLevel::Level level)
{