os/security/securityanddataprivacytools/securitytools/certapp/encdec/appuidmap.cpp
Update contrib.
2 * Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
19 #include "appuidmap.h"
25 TInt32 iLastDefFileIndex;
27 typedef std::map<TUint32, AppMapEntry> AppMap;
30 // Local static vars. This avoids including map etc in the header
32 static AppMap sAppMap;
34 bool AppUidMap::InsertUidDefinition(TInt32 aUid, const std::string &aDef, TInt32 aInputFileIndex,
35 TInt32 &aLastIndex, std::string &aFirstDef)
39 val.iLastDefFileIndex = aInputFileIndex;
40 AppMap::value_type e(aUid, val);
41 std::pair<AppMap::iterator,bool> result = sAppMap.insert(e);
42 if(result.second == true)
48 // Save fileIndex of previous definition
49 aLastIndex = (result.first)->second.iLastDefFileIndex;
50 aFirstDef = (result.first)->second.iDef;
51 // Update location of last seen def
52 (result.first)->second.iLastDefFileIndex = aInputFileIndex;
62 static EnumEntry *sEnumEntries = 0;
64 void AppUidMap::GenerateEnumEntries()
66 delete [] sEnumEntries;
67 sEnumEntries = new EnumEntry[sAppMap.size()+1];
68 sEnumEntries[sAppMap.size()].iName=0; // Terminate array
70 AppMap::const_iterator it = sAppMap.begin();
71 for(TUint32 i=0; i < sAppMap.size(); ++i)
73 sEnumEntries[i].iName = (*it).second.iDef.c_str();
74 sEnumEntries[i].iValue = (*it).first;
80 EnumEntry *AppUidMap::EnumEntries()
83 if(sEnumEntries == 0) FatalError();