/** Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).* All rights reserved.* This component and the accompanying materials are made available* under the terms of the License "Eclipse Public License v1.0"* which accompanies this distribution, and is available* at the URL "http://www.eclipse.org/legal/epl-v10.html".** Initial Contributors:* Nokia Corporation - initial contribution.** Contributors:** Description: * VT fix here**/#ifndef __MAIN_H__#define __MAIN_H__#ifdef __VC32__ #pragma warning( disable : 4786 ) // identifier truncated in debugging information.#pragma warning( push, 1 ) // MS STL libraries do not compile cleanly, temporarily set warning level to 1#pragma warning( disable : 4530 ) // and disable this one as well.#pragma warning(disable : 4710 )#endif#include <vector>#include <map>#ifdef __VC32__#pragma warning( pop )#endif// VT fix for Linux#ifdef __LINUX__ #include <stdio.h>#endif // LINUX// end VT#include "STRUCTST.H"#include "RCSTACK.H" #include "INDEXTAB.H"#include "FILELINE.H"#include "Parser.h"#include "qualifar.h"#include "messages.h"struct RlsValue{ RlsValue(const String* aFileName, int aLineNo, const char*a, TRlsType aType, TRlsCardinality aCard) : iValue(a), iType(aType), iCardinality(aCard), iCitationCount(0), iMaximumLength(0xFFFFFFF), iLineNumber(aLineNo), iFileName(aFileName) { } RlsValue(const String* aFileName, int aLineNo, const char*a, TRlsType aType, TRlsCardinality aCard, unsigned long aMaximumLength) : iValue(a), iType(aType), iCardinality(aCard), iCitationCount(0), iMaximumLength(aMaximumLength), iLineNumber(aLineNo), iFileName(aFileName) { } String iValue; TRlsType iType; TRlsCardinality iCardinality; int iCitationCount; unsigned long iMaximumLength; int iLineNumber; const String* iFileName;};typedef std::map<String, int, StringLess> TNameIndex;typedef TNameIndex::iterator TNameIndexIterator;// Global data is held in a structure allocated in main(). This is in order for the memory leakage// mechanism to be able see the allocation of this data.struct GlobalData{ StructHeaderArray SHA; ResourceItemArrayStack RIAStack; StructResourceItemStack SRIStack; IndexTable Index; NameIdMap ResourceNameIds; FileLineManager FileLineHandler; NameIdMap EnumValues; std::vector<RlsValue> RlsValues; TNameIndex RlsNameIndex; // index from Label -> RlsValues[] bool WarningMultiExplained; StringArray AllIdentifiers; QualifiedStringArray UsedIdentifiers; MessageArray Messages; char* StdInBuffer ; unsigned long StdInBufLength ; unsigned long StdInfBufPos ;};extern GlobalData *pG;extern int verbose;extern unsigned short logmemorysetting; // remove thisextern int ParseSourceFile(FILE* aFile, unsigned short aYYDebug);#endif // end VT __MAIN_H__