imgtools/romtools/rofsbuild/r_romnode.h
changeset 702 341ab25bc4ef
parent 698 e3ee96a3961c
equal deleted inserted replaced
674:37ee82a83d43 702:341ab25bc4ef
    19 #ifndef __R_ROMNODE_H__
    19 #ifndef __R_ROMNODE_H__
    20 #define __R_ROMNODE_H__
    20 #define __R_ROMNODE_H__
    21 
    21 
    22 #include <fstream>
    22 #include <fstream>
    23 #include <e32std.h>
    23 #include <e32std.h>
       
    24 #include <vector>
       
    25 #include <string>
    24 #include "rofs.h"
    26 #include "rofs.h"
    25 #include "e32image.h"
    27 #include "e32image.h"
    26 #include "h_utl.h"
    28 #include "h_utl.h"
    27 
    29 
    28 const TUint KOverrideStack = 0x01;
    30 const TUint KOverrideStack = 0x01;
   121 	static void displayFlatList();
   123 	static void displayFlatList();
   122 	TInt FullNameLength(TBool aIgnoreHiddenAttrib = EFalse) const;
   124 	TInt FullNameLength(TBool aIgnoreHiddenAttrib = EFalse) const;
   123 	TInt GetFullName(char* aBuf, TBool aIgnoreHiddenAttrib = EFalse) const;
   125 	TInt GetFullName(char* aBuf, TBool aIgnoreHiddenAttrib = EFalse) const;
   124 	static void InitializeCount();
   126 	static void InitializeCount();
   125 	// Accessor Function.
   127 	// Accessor Function.
   126     inline TRomNode* GetParent() const { return iParent; }
   128     	inline TRomNode* GetParent() const { return iParent; }
       
   129 	void FlushLogMessages();
   127 
   130 
   128 private:
   131 private:
   129 	void Remove(TRomNode* aChild);
   132 	void Remove(TRomNode* aChild);
   130 	void Add(TRomNode* aChild);
   133 	void Add(TRomNode* aChild);
   131 	void Clone(TRomNode* aOriginal);
   134 	void Clone(TRomNode* aOriginal);
   185 	};
   188 	};
   186 
   189 
   187 
   190 
   188 
   191 
   189 class DllDataEntry;
   192 class DllDataEntry;
       
   193 struct TLogItem
       
   194 	{
       
   195 		TPrintType iPrintType;
       
   196 		std::string iLogMessage;
       
   197 	};
       
   198 typedef vector<TLogItem> LogVector;
   190 class TRomBuilderEntry
   199 class TRomBuilderEntry
   191 	{
   200 	{
   192 public:
   201 public:
   193 	TRomBuilderEntry(const char *aFileName, const char *aName);
   202 	TRomBuilderEntry(const char *aFileName, const char *aName);
   194 	~TRomBuilderEntry();
   203 	~TRomBuilderEntry();
   197 	TInt PlaceFile( TUint8* &aDest, TUint aMaxSize, CBytePair *aBPE );
   206 	TInt PlaceFile( TUint8* &aDest, TUint aMaxSize, CBytePair *aBPE );
   198 
   207 
   199 	inline TInt RealFileSize() const { return iRealFileSize; };
   208 	inline TInt RealFileSize() const { return iRealFileSize; };
   200 	inline void SetRealFileSize(TInt aFileSize) { iRealFileSize=aFileSize;};
   209 	inline void SetRealFileSize(TInt aFileSize) { iRealFileSize=aFileSize;};
   201 	void DisplaySize(TPrintType aWhere);
   210 	void DisplaySize(TPrintType aWhere);
       
   211 	char* GetSystemFullName();
   202 	
   212 	
   203 private:
   213 private:
   204 	TRomBuilderEntry();
   214 	TRomBuilderEntry();
   205 	TRomBuilderEntry(const TRomBuilderEntry&);
   215 	TRomBuilderEntry(const TRomBuilderEntry&);
   206 	const TRomBuilderEntry& operator==(const TRomBuilderEntry &);
   216 	const TRomBuilderEntry& operator==(const TRomBuilderEntry &);
   215 	TBool iExecutable;
   225 	TBool iExecutable;
   216 	TBool iFileOffset; // offset of the file in ROM
   226 	TBool iFileOffset; // offset of the file in ROM
   217 	TUint iCompressEnabled;
   227 	TUint iCompressEnabled;
   218 	TUint8 iUids[sizeof(TCheckedUid)];
   228 	TUint8 iUids[sizeof(TCheckedUid)];
   219 	TBool iHidden;
   229 	TBool iHidden;
       
   230 	LogVector iLogMessages;
   220   	DllDataEntry* GetFirstDllDataEntry() const;
   231   	DllDataEntry* GetFirstDllDataEntry() const;
   221 	void SetFirstDllDataEntry(DllDataEntry *aDllDataEntry);
   232 	void SetFirstDllDataEntry(DllDataEntry *aDllDataEntry);
   222 
   233 
   223 private:
   234 private:
   224 	TRomNode *iRomNode;
   235 	TRomNode *iRomNode;