00001 /* TableRowTranslator.h */ 00002 00003 00004 #ifndef TABLE_ROW_TRANSLATOR_HH 00005 #define TABLE_ROW_TRANSLATOR_HH 00006 00007 #include <string> 00008 #include <vector> 00009 #include <iostream> 00010 #include "ConfigBuffer.h" 00011 #include "TranslatorsUtils.h" 00012 #include "QueryTranslationException.h" 00013 00014 00015 namespace LcgInfo{ 00016 /************************** CLASS TableRowTranslator *******************************/ 00017 00029 class TableRowTranslator{ 00030 00031 public: 00032 00039 TableRowTranslator(); 00040 00048 TableRowTranslator(std::string const & pMapFile); 00049 00058 TableRowTranslator(LcgConfigBuffer::ConfigBuffer& pMap); 00059 00063 ~TableRowTranslator(); 00064 00079 std::string mapTableRow(std::string const & pTableRow); 00080 00091 bool thereIsStructChange(); 00092 00102 std::vector<std::string>::iterator getPredicatesBegin(); 00103 00113 std::vector<std::string>::iterator getPredicatesEnd(); 00114 00115 00116 private: 00117 00123 LcgConfigBuffer::ConfigBuffer * mMap; 00124 00130 bool mOurMap; 00131 00137 std::vector<std::string> mPredicates; 00138 00139 }; // end of class TableRowTranslator 00140 00141 }//end of namespace LcgInfo 00142 #endif