#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
{
}
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)
}
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,
#include <FBaseColHashMap.h>
#include <FBaseColLinkedList.h>
#include <FBaseRtEvent.h>
+#include <FAppTypes.h>
namespace Tizen { namespace App
{
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);
#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;
}
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));
+ 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,
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.
*/
_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,