#include <FBaseSysLog.h>
#include <FBaseString.h>
#include <FBaseColArrayList.h>
+#include <FBaseColArrayListT.h>
+#include <FBaseColIEnumeratorT.h>
#include <FIoFile.h>
#include <FIo_IpcClient.h>
#include <FSecAccessController.h>
std::unique_ptr<String> pChecksum(new (std::nothrow) String());
SysTryReturnVoidResult(NID_SEC, pChecksum != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
- std::unique_ptr<ArrayList> pPrivilegeList(new ArrayList());
- SysTryReturnVoidResult(NID_SEC, pPrivilegeList != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
+ std::unique_ptr< ArrayListT< String > > pPrivilegeListT(new ArrayListT< String >());
+ SysTryReturnVoidResult(NID_SEC, pPrivilegeListT != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
- pPrivilegeList->Construct();
+ pPrivilegeListT->Construct();
- std::unique_ptr<IPC::Message> pCipherPrivilegeMessage(new (std::nothrow) PrivilegeManagerMsg_retrieve(pEncryptedPrivileges.get(), pChecksum.get(), pPrivilegeList.get(), &r));
+ std::unique_ptr<IPC::Message> pCipherPrivilegeMessage(new (std::nothrow) PrivilegeManagerMsg_retrieve(pEncryptedPrivileges.get(), pChecksum.get(), pPrivilegeListT.get(), &r));
SysTryReturnVoidResult(NID_SEC, pCipherPrivilegeMessage != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
result ipcResult = pIpcClient->SendRequest(pCipherPrivilegeMessage.get());
SysTryReturnVoidResult(NID_SEC, ipcResult == E_SUCCESS, E_SYSTEM, "Failed to send IPC message.");
SysTryReturnVoidResult(NID_SEC, r == E_SUCCESS, r, "Failed to retrieve privilege information");
+ std::unique_ptr<ArrayList> pPrivilegeList(new ArrayList());
+ SysTryReturnVoidResult(NID_SEC, pPrivilegeList != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
+
+ pPrivilegeList->Construct();
+
+ std::unique_ptr<IEnumeratorT< String > > pEnum(pPrivilegeListT->GetEnumeratorN());
+ while (pEnum->MoveNext() == E_SUCCESS)
+ {
+ String tempString;
+ pEnum->GetCurrent(tempString);
+ pPrivilegeList->Add(new String(tempString));
+ }
+ pPrivilegeListT->RemoveAll();
+
std::unique_ptr<String> pEncryptedVisibility(new (std::nothrow) String());
SysTryReturnVoidResult(NID_SEC, pEncryptedVisibility != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
#include <FBaseSysLog.h>
#include <FBaseString.h>
#include <FBaseColArrayList.h>
+#include <FBaseColArrayListT.h>
#include <FBase_StringConverter.h>
#include <FIoFile.h>
#include <FIo_IpcClient.h>
pChecksum.reset(new (std::nothrow) String());
SysTryReturnVoidResult(NID_SEC, pChecksum != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
- pPrivilegeList.reset(new ArrayList());
- SysTryReturnVoidResult(NID_SEC, pPrivilegeList != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
- pPrivilegeList->Construct();
+ std::unique_ptr< ArrayListT< String > > pPrivilegeListT(new ArrayListT< String >());
+ SysTryReturnVoidResult(NID_SEC, pPrivilegeListT != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
+
+ pPrivilegeListT->Construct();
- std::unique_ptr<IPC::Message> pCipherPrivilegeMessage(new (std::nothrow) PrivilegeManagerMsg_retrieve(pEncryptedPrivileges.get(), pChecksum.get(), pPrivilegeList.get(), &r));
+ std::unique_ptr<IPC::Message> pCipherPrivilegeMessage(new (std::nothrow) PrivilegeManagerMsg_retrieve(pEncryptedPrivileges.get(), pChecksum.get(), pPrivilegeListT.get(), &r));
SysTryReturnVoidResult(NID_SEC, pCipherPrivilegeMessage != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
result ipcResult = pIpcClient->SendRequest(pCipherPrivilegeMessage.get());
SysTryReturnVoidResult(NID_SEC, ipcResult == E_SUCCESS, E_SYSTEM, "Failed to send IPC message.");
SysTryReturnVoidResult(NID_SEC, r == E_SUCCESS, r, "Failed to retrieve privilege information");
+ pPrivilegeList.reset(new ArrayList(SingleObjectDeleter));
+ SysTryReturnVoidResult(NID_SEC, pPrivilegeList != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
+ pPrivilegeList->Construct();
+
+ std::unique_ptr<IEnumeratorT< String > > pEnum(pPrivilegeListT->GetEnumeratorN());
+ while (pEnum->MoveNext() == E_SUCCESS)
+ {
+ String tempString;
+ pEnum->GetCurrent(tempString);
+ pPrivilegeList->Add(new String(tempString));
+ }
+ pPrivilegeListT->RemoveAll();
+
pEncryptedVisibility.reset(new (std::nothrow) String());
SysTryReturnVoidResult(NID_SEC, pEncryptedVisibility != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
if (ret != PRIV_MGR_ERROR_SUCCESS)
{
r = E_USER_NOT_CONSENTED;
- SysLog(NID_SEC, "Result : FALSE [Privacy]");
+ SysLog(NID_SEC, "Result: FALSE [Privacy]");
}
return r;
if (ret != PRIV_MGR_ERROR_SUCCESS)
{
r = E_USER_NOT_CONSENTED;
- SysLog(NID_SEC, "Result : FALSE [Privacy]");
+ SysLog(NID_SEC, "Result: FALSE [Privacy]");
}
return r;
#define IPC_MESSAGE_START PrivilegeManagerMsgStart
-IPC_SYNC_MESSAGE_CONTROL0_4(PrivilegeManagerMsg_retrieve, Tizen::Base::String, Tizen::Base::String, Tizen::Base::Collection::ArrayList, result)
+IPC_SYNC_MESSAGE_CONTROL0_4(PrivilegeManagerMsg_retrieve, Tizen::Base::String, Tizen::Base::String, Tizen::Base::Collection::ArrayListT< Tizen::Base::String >, result)
IPC_SYNC_MESSAGE_CONTROL0_3(PrivilegeManagerMsg_retrieveEx, Tizen::Base::String, Tizen::Base::String, result)
_PrivilegeManagerServer(void);
virtual ~_PrivilegeManagerServer(void);
- static result RetrievePrivilege(const Tizen::App::AppId& appId, Tizen::Base::String* pEncryptedBitwise, Tizen::Base::String* pHmac, Tizen::Base::Collection::ArrayList*& pPrivilegeList);
+ static result RetrievePrivilege(const Tizen::App::AppId& appId, Tizen::Base::String* pEncryptedBitwise, Tizen::Base::String* pHmac, Tizen::Base::Collection::ArrayListT < Tizen::Base::String >*& pPrivilegeList);
static result GenerateVisibilityString(Tizen::App::AppId appId, Tizen::Base::String* pEncryptedVisibility, Tizen::Base::String* pHmac);
static result GetEncryptedVisibility(int visibility, Tizen::Base::String& encryptedVisibility);
static result GetChecksum(Tizen::App::AppId appId, int visibility, Tizen::Base::String& checksum);
}
result
-_PrivilegeManagerServer::RetrievePrivilege(const AppId& appId, String* pEncryptedBitwise, String* pHmac, ArrayList*& pPrivilegeList)
+_PrivilegeManagerServer::RetrievePrivilege(const AppId& appId, String* pEncryptedBitwise, String* pHmac, ArrayListT < String >*& pPrivilegeList)
{
result r = E_SUCCESS;
String encryptedBitwise;
while (pEnum->MoveNext() == E_SUCCESS)
{
String* tempString = static_cast<String*>(pEnum->GetCurrent());
- pPrivilegeList->Add(new String(*tempString));
+ pPrivilegeList->Add(*tempString);
}
delete pEnum;