First public contribution.
1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of the License "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
19 #ifndef __MSVCDOTNET__
20 #pragma warning(push, 3) // cannot compile MSVC's STL at warning level 4
21 #pragma warning(disable: 4786 4710 4530)
22 #endif //__MSVCDOTNET__
28 #include "codespace.h"
33 typedef std::vector<std::string> FilesVec;
37 OrigName() : iName(""), iId(0) {}
38 OrigName(const char* aName, int aId) : iName(aName), iId(aId) {}
42 typedef std::map<std::string, OrigName> NamesMap;
47 NamesMap::const_iterator iName;
50 typedef std::map<PC, Segment> SegData;
53 enum TReportMask {ENonXip=1, ENodebugSupport=2};
58 void AddObyFile(const char* aName) {iObyFiles.push_back(aName);}
59 void AddSymbolFile(const char* aName) {iSymbolFiles.push_back(aName);}
61 void CreateNamesMap();
62 void SetMappedCodeSpace(MappedCodeSpace* aCodeSpace) {iCodeSpace = aCodeSpace;}
64 void AddSegment(PC aAddress, PC aSegSize, const char *aSegName);
65 void DeleteSegment(PC aAddress);
67 unsigned int iRowBufferErrors;
68 unsigned int iCookBufferErrors;
69 unsigned int iReportMask;
72 void AddObyNames(const char* aOrigName, const char* aSegName);
73 bool TryUnDeleteSegment(PC aAddress, PC aSegSize, const char *aSegName);
77 FilesVec iSymbolFiles;
80 MappedCodeSpace* iCodeSpace;
82 std::vector<SymbolFile*> iSymbols;