imgtools/imglib/symbolutil/symbolprocessunit.h
changeset 714 e5a58c351011
parent 695 46ca13b54f56
--- a/imgtools/imglib/symbolutil/symbolprocessunit.h	Tue Nov 30 14:05:41 2010 +0800
+++ b/imgtools/imglib/symbolutil/symbolprocessunit.h	Tue Nov 30 17:14:57 2010 +0800
@@ -53,12 +53,14 @@
 public:
 	virtual void ProcessExecutableFile(const string& aFile) = 0;
 	virtual void ProcessDataFile(const string& afile) = 0;
-	virtual void FlushStdOut(ostream& aOut) = 0;
+	virtual void FlushStdOut(stringlist& aList);
 	virtual void FlushSymbolContent(ostream &aOut) = 0;
 	virtual void ResetContentLog() = 0;
 	virtual ~SymbolProcessUnit() {}
 	virtual void ProcessEntry(const TPlacedEntry& aEntry);
 	int GetSizeFromBinFile( const string& fileName );
+protected:
+	stringlist iStdoutLog;
 };
 
 class CommenRomSymbolProcessUnit : public SymbolProcessUnit
@@ -66,7 +68,6 @@
 public:
 	virtual void ProcessExecutableFile(const string& aFile);
 	virtual void ProcessDataFile(const string& afile);
-	virtual void FlushStdOut(ostream& aOut);
 	virtual void FlushSymbolContent(ostream &aOut);
 	virtual void ResetContentLog();
 	virtual void ProcessEntry(const TPlacedEntry& aEntry);
@@ -75,7 +76,6 @@
 	void ProcessGcceOrArm4File( const string& fileName, ifstream& aMap );
 	void ProcessX86File( const string& fileName, ifstream& aMap );
 private:
-	stringlist iStdoutLog;
 	stringlist iSymbolContentLog;
 	TPlacedEntry iPlacedEntry;
 };
@@ -85,14 +85,12 @@
 public:
 	virtual void ProcessExecutableFile(const string& aFile);
 	virtual void ProcessDataFile(const string& afile);
-	virtual void FlushStdOut(ostream& aOut);
 	virtual void FlushSymbolContent(ostream &aOut);
 	virtual void ResetContentLog();
 private:
 	void ProcessArmv5File( const string& fileName, ifstream& aMap );
 	void ProcessGcceOrArm4File( const string& fileName, ifstream& aMap );
 private:
-	stringlist iStdoutLog;
 	stringlist iSymbolContentLog;
 };
 
@@ -105,7 +103,6 @@
 	BsymRofsSymbolProcessUnit(){}
 	virtual void ProcessExecutableFile(const string& aFile);
 	virtual void ProcessDataFile(const string& afile);
-	virtual void FlushStdOut(ostream& aOut);
 	virtual void FlushSymbolContent(ostream &aOut);
 	virtual void ResetContentLog();
 	virtual void ProcessEntry(const TPlacedEntry& aEntry);
@@ -113,8 +110,27 @@
 	void ProcessArmv5File( const string& fileName, ifstream& aMap );
 	void ProcessGcceOrArm4File( const string& fileName, ifstream& aMap );
 private:
-	stringlist iStdoutLog;
 	MapFileInfo iMapFileInfo;
 	SymbolGenerator* iSymbolGeneratorPtr;
 };
+
+class BsymRomSymbolProcessUnit : public SymbolProcessUnit
+{
+public:
+	BsymRomSymbolProcessUnit(SymbolGenerator* aSymbolGeneratorPtr): iSymbolGeneratorPtr(aSymbolGeneratorPtr){}
+	virtual void ProcessExecutableFile(const string& aFile);
+	virtual void ProcessDataFile(const string& afile);
+	virtual void FlushSymbolContent(ostream &aOut);
+	virtual void ResetContentLog();
+	virtual void ProcessEntry(const TPlacedEntry& aEntry);
+private:
+	void ProcessArmv5File( const string& fileName, ifstream& aMap );
+	void ProcessGcceOrArm4File( const string& fileName, ifstream& aMap );
+	void ProcessX86File( const string& fileName, ifstream& aMap );
+private:
+	MapFileInfo iMapFileInfo;
+	SymbolGenerator* iSymbolGeneratorPtr;
+	TPlacedEntry iPlacedEntry;
+};
+
 #endif