00001 #ifndef SDXTABBASEDFILEREADER_H
00002 #define SDXTABBASEDFILEREADER_H
00003
00004 #include "SDXStreamReader.h"
00005
00006 namespace SDX {
00007 namespace Formats {
00037 class TabBasedStreamReader : public SDX::Helpers::StreamReader {
00038 public:
00042 TabBasedStreamReader(std::istream* iStream = 0, SDX::ContentHandler* contentHandler = 0);
00043 private:
00044 void startProcessing();
00045 void endProcessing();
00046 bool processLine(std::string& line);
00047
00048 bool processAttrList(std::string& attrList);
00049 std::string extractFirstValue(std::string& str, const char* unqoutedValueDelimiters, bool *ok = 0);
00050
00051 bool m_inExtendedAttrList;
00052 int m_curLevel;
00053 };
00054 }
00055 }
00056
00057 #endif
00058