export _AppControlImpl::FindAndStart()
[platform/framework/native/appfw.git] / src / app / FApp_DataControlProviderManagerImpl.cpp
index 0ecc416..a78c9f5 100644 (file)
@@ -31,6 +31,7 @@
 #include <FBaseColIList.h>
 #include <FBaseSysLog.h>
 #include <FBaseErrors.h>
+#include <FAppTypes.h>
 #include <FAppAppManager.h>
 #include <FAppSqlDataControl.h>
 #include <FAppMapDataControl.h>
@@ -39,6 +40,7 @@
 
 #include <FBase_StringConverter.h>
 #include <FIo_DataControlResultSetImpl.h>
+#include <FAppPkg_PackageManagerImpl.h>
 
 #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;
@@ -107,7 +110,7 @@ _DataControlProviderManagerImpl::SendDataControlResult(RequestId reqId, _DataCon
        _AppArg resultArg;
        String* pDataId = null;
        result r = E_SUCCESS;
-       int ret = -1;
+       //int ret = -1;
 
        _AppControlManager* pAppMgr = _AppControlManager::GetInstance();
        SysTryReturnResult(NID_APP, pAppMgr, E_SYSTEM, "Failed to get instance.");
@@ -361,7 +364,7 @@ _DataControlProviderManagerImpl::SendDataControlResult(RequestId reqId, _DataCon
        resultArg.UpdateKeyValue(OSP_K_DATACONTROL_PROTOCOL_VERSION, version);
 
        //resultArg.Print();
-       r = _Aul::SendResult(resultArg.GetBundle(), static_cast< appsvc_result_val >(0));
+       r = _Aul::SendResult(resultArg.GetBundle(), static_cast< appsvc_result_val >(0), false, false);
        SysTryCatch(NID_APP, !IsFailed(r), , r, "[%s] Failed to send result.", GetErrorMessage(r));
 
        // Erases _AppArg after sending the result back to the caller
@@ -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,20 +457,20 @@ _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));
+       //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_PROV_SEND] Allow %ls to access", appId.GetPointer());
        return E_SUCCESS;