diff -r 000000000000 -r 044383f39525 imgtools/imglib/patchdataprocessor/include/patchdataprocessor.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imgtools/imglib/patchdataprocessor/include/patchdataprocessor.h Tue Oct 27 16:36:35 2009 +0000 @@ -0,0 +1,98 @@ +/* +* Copyright (c) 2008-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: +* Class for Patching Exported Data +* @internalComponents +* @released +* +*/ + + +#ifndef PATCHDATAPROCESSOR_H +#define PATCHDATAPROCESSOR_H + +#ifdef _MSC_VER + #pragma warning(disable: 4786) // identifier was truncated to '255' characters in the debug information +#endif + +#include + +#ifdef _L +#undef _L +#endif + +#include +#include +#include +#include + +typedef std::string String; +typedef std::vector StringVector; +typedef std::vector VectorOfStringVector; +typedef std::map MapOfString; +typedef std::map::iterator MapOfStringIterator; +typedef std::ostringstream OutputStringStream; + +/** +Class for patching exported data. + +@internalComponent +@released +*/ +class CPatchDataProcessor +{ + VectorOfStringVector iPatchDataStatements; // Vector of string containing patchdata statements. + MapOfString iRenamedFileMap; // Map containing information of renamed files. + +public: + void AddPatchDataStatement(StringVector aPatchDataStatement); + void AddToRenamedFileMap(String aCurrentName, String aNewName); + VectorOfStringVector GetPatchDataStatements() const; + MapOfString GetRenamedFileMap() const; +}; + + +class TRomNode; + +/** +Class to form a patchdata linked-list contatining symbol size, address/ordinal +new value to be patched. + +@internalComponent +@released +*/ +class DllDataEntry +{ + +public: + DllDataEntry(TUint32 aSize, TUint32 aNewValue) : + iSize(aSize), iDataAddress((TUint32)-1), iOrdinal((TUint32)-1), iOffset(0), + iNewValue(aNewValue), iRomNode(NULL), iNextDllEntry(NULL) + { + } + + + TUint32 iSize; + TLinAddr iDataAddress; + TUint32 iOrdinal; + TUint32 iOffset; + TUint32 iNewValue; + TRomNode* iRomNode; + DllDataEntry* iNextDllEntry; + + void AddDllDataEntry(DllDataEntry*); + DllDataEntry* NextDllDataEntry() const; +}; + +#endif //PATCHDATAPROCESSOR_H