#include <FBaseColIList.h>
#include <FBaseSysLog.h>
#include <FBaseErrors.h>
+#include <FAppTypes.h>
#include <FAppAppManager.h>
#include <FAppSqlDataControl.h>
#include <FAppMapDataControl.h>
#include <FBase_StringConverter.h>
#include <FIo_DataControlResultSetImpl.h>
+#include <FAppPkg_PackageManagerImpl.h>
#include "FApp_Aul.h"
#include "FApp_AppArg.h"
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;
_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.");
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
}
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)
}
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;