*/
#include <new>
+#include <privacy_manager_client.h>
#include <FSecPrivacyManager.h>
#include <FBaseSysLog.h>
#include "FSec_PrivacyManagerImpl.h"
+#include <FBase_StringConverter.h>
+#include <FSecPrivacyInfo.h>
using namespace Tizen::Base;
using namespace Tizen::Base::Collection;
return privacyManager.__pPrivacyManagerImpl;
}
+
+bool GetPrivacyAppPackageListNCallback(const char *package_id, void* user_data)
+{
+ result r = E_SUCCESS;
+ ArrayList* pList = static_cast < ArrayList* >(user_data);
+
+ pList->Add(new String(package_id));
+ return true;
+}
+
Tizen::Base::Collection::IList*
_PrivacyManagerImpl::GetPrivacyAppPackageListN(void) const
{
- return null;
+ ArrayList* pPackageIdList = null;
+ int ret = 0;
+ pPackageIdList = new ArrayList();
+ pPackageIdList->Construct();
+
+ ret = privacy_manager_client_foreach_privacy_packages(GetPrivacyAppPackageListNCallback, pPackageIdList);
+
+ return pPackageIdList;
+}
+
+bool GetPrivacyInfoListNCallback(privacy_info_client_s* pPrivacy_info, void* user_data)
+{
+ result r = E_SUCCESS;
+ ArrayList* pList = static_cast < ArrayList* >(user_data);
+
+ String pPrivacyId = String(pPrivacy_info->privacy_id);
+ bool isEnabled = pPrivacy_info->is_enabled;
+
+ PrivacyInfo* pPrivacyInfo = new PrivacyInfo();
+ r = pPrivacyInfo->Construct(pPrivacyId, isEnabled);
+
+ pList->Add(pPrivacyInfo);
+ return true;
}
Tizen::Base::Collection::IList*
_PrivacyManagerImpl::GetPrivacyInfoListN(const Tizen::App::PackageId& packageId) const
{
- return null;
+ int ret = 0;
+ ArrayList* pPrivacyIdList = null;
+ char* pAppId = null;
+
+ pPrivacyIdList = new ArrayList();
+ pPrivacyIdList->Construct();
+
+ pAppId = _StringConverter::CopyToCharArrayN(packageId);
+
+ ret = privacy_manager_client_foreach_get_privacy_info(pAppId, GetPrivacyInfoListNCallback, (void *)pPrivacyIdList);
+ delete pAppId;
+
+ return pPrivacyIdList;
}
result
_PrivacyManagerImpl::SetAppPackagePrivacy(const Tizen::App::PackageId& packageId, const PrivacyInfo& privacyInfo)
{
result r = E_SUCCESS;
+ int ret = 0;
+ char* pPackageId = null;
+ char* pPrivacyId = null;
+
+ bool isEnabled = false;
+
+ pPackageId = _StringConverter::CopyToCharArrayN(packageId);
+ pPrivacyId = _StringConverter::CopyToCharArrayN(privacyInfo.GetId());
+ isEnabled = privacyInfo.IsEnabled();
+ ret = privacy_manager_client_set_package_privacy(pPackageId, pPrivacyId, isEnabled);
return r;
}