//
-// Open Service Platform
// Copyright (c) 2012 Samsung Electronics Co., Ltd.
//
// Licensed under the Apache License, Version 2.0 (the License);
ClearLastResult();
- SysTryReturnResult(NID_SEC, privilege < _MAX_PRIVILEGE_ENUM, E_INVALID_ARG, "The privilege enumerator is invalid");
+ SysTryReturnResult(NID_SEC, (privilege >= 0) && (privilege < _MAX_PRIVILEGE_ENUM), E_INVALID_ARG, "The privilege enumerator is invalid");
if (!isConstructed)
{
goto CATCH;
}
+ r = _AccessController::CheckPrivacy(privilegeInfo.GetAppId(), static_cast< _Privilege >(privilege));
+ SysTryReturnResult(NID_SEC, r == E_SUCCESS, E_USER_NOT_CONSENTED, "The user blocks an application from calling the method.");
+
return r;
CATCH:
goto CATCH;
}
+ r = _AccessController::CheckPrivacy(privilegeInfo.GetAppId(), privilege);
+ SysTryReturnResult(NID_SEC, r == E_SUCCESS, E_USER_NOT_CONSENTED, "The user blocks an application from calling the method.");
+
return r;
CATCH:
_PackageInfoImpl infoImpl;
String appType;
String webAppType(L"wgt");
+ String cAppType(L"rpm");
r = _AccessController::CheckUserPrivilege(_PRV_PRIVILEGEMANAGER_READ);
SysTryReturnResult(NID_SEC, r == E_SUCCESS, E_PRIVILEGE_DENIED, "The application does not have the privilege to call this method.");
packageId.SubString(0, MAX_APP_ID_SIZE, subAppId);
- r = infoImpl.Construct(subAppId);
+ r = infoImpl.Construct(packageId);
SysTryReturnResult(NID_SEC, r == E_SUCCESS, E_SYSTEM, "An unexpected system error occurred.");
appType = infoImpl.GetAppType();
{
return E_SUCCESS;
}
+ else if (appType.Equals(cAppType, true))
+ {
+ r = _AccessController::CheckPrivacy(packageId, privilege);
+ SysTryReturnResult(NID_SEC, r == E_SUCCESS, E_USER_NOT_CONSENTED, "The user blocks an application from calling the method.");
+
+ return r;
+ }
if (__pPrivilegeManager == null)
{
goto CATCH;
}
+ r = _AccessController::CheckPrivacy(packageId, privilege);
+ SysTryReturnResult(NID_SEC, r == E_SUCCESS, E_USER_NOT_CONSENTED, "The user blocks an application from calling the method.");
+
return r;
CATCH: