Modify DataControl manager for thread-safe
[platform/framework/native/appfw.git] / src / app / FAppAppSetting.cpp
index aac1b2f..922828b 100644 (file)
@@ -1,5 +1,4 @@
 //
-// Open Service Platform
 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
 //
 // Licensed under the Apache License, Version 2.0 (the License);
 #include <pthread.h>
 #include <FAppAppSetting.h>
 #include <FBaseSysLog.h>
+#include <FSec_AccessController.h>
 #include "FApp_AppSettingImpl.h"
 
 using namespace Tizen::Base::Collection;
+using namespace Tizen::Security;
 
 namespace Tizen { namespace App
 {
@@ -80,13 +81,20 @@ AppSetting::GetInstance(const Tizen::Base::String& version)
 AppSetting*
 AppSetting::GetInstanceByAppId(const AppId& appId)
 {
-       //TODO: Add privilege checking code
+       result r = _AccessController::CheckUserPrivilege(_PRV_APPSETTING);
+       SysTryReturn(NID_APP, !IsFailed(r), null, E_PRIVILEGE_DENIED,
+                                "[%s] The application does not have the privilege to call this method.", GetErrorMessage(E_PRIVILEGE_DENIED));
+
        return _AppSettingImpl::GetInstanceByAppId(appId);
 }
 
 result
 AppSetting::ReleaseInstanceByAppId(const AppId& appId)
 {
+       result r = _AccessController::CheckUserPrivilege(_PRV_APPSETTING);
+       SysTryReturnResult(NID_APP, !IsFailed(r), E_PRIVILEGE_DENIED,
+                                          "[%s] The application does not have the privilege to call this method.", GetErrorMessage(E_PRIVILEGE_DENIED));
+
        return _AppSettingImpl::ReleaseInstanceByAppId(appId);
 }