From: hb.min Date: Tue, 7 May 2013 13:53:53 +0000 (+0900) Subject: Add private privilege getter logic X-Git-Tag: submit/tizen_2.1/20130514.054102~12^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=101c70304d3021f63ec546d192fb137bee3e6c38;p=framework%2Fosp%2Fappfw.git Add private privilege getter logic Change-Id: I9f8ceb7acf7024d86aa375c1fbecfcbf8d6372b8 Signed-off-by: hb.min --- diff --git a/src/security/FSec_PrivilegeManager.cpp b/src/security/FSec_PrivilegeManager.cpp index 9903ac4..d30b350 100644 --- a/src/security/FSec_PrivilegeManager.cpp +++ b/src/security/FSec_PrivilegeManager.cpp @@ -133,6 +133,7 @@ _PrivilegeManager::GetPrivilegeListN(const AppId& appId) String encryptedPrivileges; String checksum; ArrayList* pPrivilegeList = null; + IEnumerator* pEnum = null; ClearLastResult(); @@ -153,6 +154,15 @@ _PrivilegeManager::GetPrivilegeListN(const AppId& appId) pReturnPrivilegeList = UnpackPrivilegeN(pTargetBitwisePrivilege); SysTryCatch(NID_SEC, pReturnPrivilegeList != null, r = E_SYSTEM, E_SYSTEM, "[E_SYSTEM] An unexpected system error occurred."); + pEnum = pPrivilegeList->GetEnumeratorN(); + SysTryCatch(NID_SEC, pEnum != null, r = E_SYSTEM, E_SYSTEM, "[E_SYSTEM] An unexpected system error occurred."); + + while (pEnum->MoveNext() == E_SUCCESS) + { + String* tempString = static_cast< String* >(pEnum->GetCurrent()); + pReturnPrivilegeList->Add(new String(*tempString)); + } + // fall through CATCH: @@ -169,6 +179,11 @@ CATCH: pTargetBitwisePrivilege = null; } + if (pEnum) + { + delete pEnum; + } + return pReturnPrivilegeList; }