From b926f110063fe899d5e0a416f11d858e0a814621 Mon Sep 17 00:00:00 2001 From: Hyunbin Lee Date: Tue, 28 May 2013 21:38:14 +0900 Subject: [PATCH] Modify package ID checking Change-Id: I39810829843daabe7ddf66f19bcda9de97e38aa8 Signed-off-by: Hyunbin Lee --- src/app/FApp_DataControlManager.cpp | 12 +++++++----- src/app/FApp_DataControlManager.h | 7 ++++--- src/app/FApp_DataControlProviderManagerImpl.cpp | 13 ++++++++----- src/app/FApp_DataControlProviderManagerImpl.h | 6 +++--- 4 files changed, 22 insertions(+), 16 deletions(-) diff --git a/src/app/FApp_DataControlManager.cpp b/src/app/FApp_DataControlManager.cpp index aef876c..4a0c91b 100644 --- a/src/app/FApp_DataControlManager.cpp +++ b/src/app/FApp_DataControlManager.cpp @@ -32,11 +32,13 @@ #include #include +#include #include "FApp_DataControlManager.h" using namespace std; using namespace Tizen::Base; using namespace Tizen::Base::Collection; +using namespace Tizen::App::Package; namespace Tizen { namespace App { @@ -149,13 +151,13 @@ _DataControlManager::GetUniqueId(void) } void -_DataControlManager::Cache(String& appId) +_DataControlManager::Cache(const AppId& appId) { __pProviderList->Add(new (std::nothrow) String(appId)); } bool -_DataControlManager::IsCached(String& appId) +_DataControlManager::IsCached(const AppId& appId) { unique_ptr< IEnumerator > pEnum(__pProviderList->GetEnumeratorN()); while (pEnum->MoveNext() == E_SUCCESS) @@ -170,13 +172,13 @@ _DataControlManager::IsCached(String& appId) } result -_DataControlManager::AllowAccess(String& appId) +_DataControlManager::AllowAccess(const AppId& appId) { if (IsCached(appId) == false) { - unique_ptr< char[] > pPkgId(_StringConverter::CopyToCharArrayN(appId)); + const PackageId& pkgId = _PackageManagerImpl::GetPackageIdByAppId(appId); + unique_ptr< char[] > pPkgId(_StringConverter::CopyToCharArrayN(pkgId)); SysTryReturnResult(NID_APP, pPkgId != null, E_SYSTEM, "The method cannot proceed due to a severe system error."); - pPkgId.get()[10] = '\0'; int ret = security_server_app_give_access(pPkgId.get(), -1); SysTryReturnResult(NID_APP, ret == 0, E_SYSTEM, diff --git a/src/app/FApp_DataControlManager.h b/src/app/FApp_DataControlManager.h index 2d93675..494474b 100644 --- a/src/app/FApp_DataControlManager.h +++ b/src/app/FApp_DataControlManager.h @@ -26,6 +26,7 @@ #include #include #include +#include namespace Tizen { namespace App { @@ -74,16 +75,16 @@ public: int GetUniqueId(void); - result AllowAccess(Tizen::Base::String& appId); + result AllowAccess(const AppId& appId); private: _DataControlManager(void); virtual ~_DataControlManager(void); - void Cache(Tizen::Base::String& appId); + void Cache(const AppId& appId); - bool IsCached(Tizen::Base::String& appId); + bool IsCached(const AppId& appId); static void InitSingleton(void); diff --git a/src/app/FApp_DataControlProviderManagerImpl.cpp b/src/app/FApp_DataControlProviderManagerImpl.cpp index 0ecc416..73715c3 100644 --- a/src/app/FApp_DataControlProviderManagerImpl.cpp +++ b/src/app/FApp_DataControlProviderManagerImpl.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -39,6 +40,7 @@ #include #include +#include #include "FApp_Aul.h" #include "FApp_AppArg.h" @@ -54,6 +56,7 @@ using namespace std; using namespace Tizen::Base; using namespace Tizen::Base::Collection; using namespace Tizen::Io; +using namespace Tizen::App::Package; extern const char* _DATACONTROL_RESULT_DIR; extern const char* _DATACONTROL_RESULT_COMPAT_DIR; @@ -433,13 +436,13 @@ _DataControlProviderManagerImpl::GetInstance(void) } void -_DataControlProviderManagerImpl::Cache(String& appId) +_DataControlProviderManagerImpl::Cache(const AppId& appId) { __pProviderList->Add(new (std::nothrow) String(appId)); } bool -_DataControlProviderManagerImpl::IsCached(String& appId) +_DataControlProviderManagerImpl::IsCached(const AppId& appId) { unique_ptr< IEnumerator > pEnum(__pProviderList->GetEnumeratorN()); while (pEnum->MoveNext() == E_SUCCESS) @@ -454,13 +457,13 @@ _DataControlProviderManagerImpl::IsCached(String& appId) } result -_DataControlProviderManagerImpl::AllowAccess(String& appId) +_DataControlProviderManagerImpl::AllowAccess(const AppId& appId) { if (IsCached(appId) == false) { - unique_ptr< char[] > pPkgId(_StringConverter::CopyToCharArrayN(appId)); + const PackageId& pkgId = _PackageManagerImpl::GetPackageIdByAppId(appId); + unique_ptr< char[] > pPkgId(_StringConverter::CopyToCharArrayN(pkgId)); SysTryReturnResult(NID_APP, pPkgId != null, E_SYSTEM, "The method cannot proceed due to a severe system error."); - pPkgId.get()[10] = '\0'; int ret = security_server_app_give_access(pPkgId.get(), -1); SysTryReturnResult(NID_APP, ret == 0, E_SYSTEM, diff --git a/src/app/FApp_DataControlProviderManagerImpl.h b/src/app/FApp_DataControlProviderManagerImpl.h index 90c27e1..216ab2e 100644 --- a/src/app/FApp_DataControlProviderManagerImpl.h +++ b/src/app/FApp_DataControlProviderManagerImpl.h @@ -73,7 +73,7 @@ public: result SendDataControlError(RequestId reqId, const Tizen::Base::String& errorMsg); - result AllowAccess(Tizen::Base::String& appId); + result AllowAccess(const AppId& appId); /** * Retrieves the data control provider manager instance. @@ -109,9 +109,9 @@ private: */ _DataControlProviderManagerImpl& operator =(const _DataControlProviderManagerImpl& source); - void Cache(Tizen::Base::String& appId); + void Cache(const AppId& appId); - bool IsCached(Tizen::Base::String& appId); + bool IsCached(const AppId& appId); static result SendDataControlResult(RequestId reqId, _DataControlRequestType apiType, Tizen::Io::IDbEnumerator* pDbEnum, Tizen::Base::Collection::IList* pResultValueList, long long insertRowId, -- 2.7.4