Merge "[2.2.1] Apply reviewed header file (Base to Collection)" into tizen_2.2
[platform/framework/native/appfw.git] / src / app / FApp_DataControlManager.cpp
index aef876c..02a33d8 100644 (file)
 #include <FBaseColIEnumerator.h>
 
 #include <FBase_StringConverter.h>
+#include <FAppPkg_PackageManagerImpl.h>
 #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,20 +172,20 @@ _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));
+       //if (IsCached(appId) == false)
+       //{
+               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,
                                "Failed to call security_server_app_give_access(), provider: %s, ret: %d", pPkgId.get(), ret);
 
-               Cache(appId);
-       }
+       //      Cache(appId);
+       //}
 
        SysLog(NID_APP, "[DC_CALLER_SEND] Allow %ls to access", appId.GetPointer());
        return E_SUCCESS;