00001 #ifndef DTConfigList_H 00002 #define DTConfigList_H 00003 00014 //---------------------- 00015 // Base Class Headers -- 00016 //---------------------- 00017 00018 00019 //------------------------------------ 00020 // Collaborating Class Declarations -- 00021 //------------------------------------ 00022 00023 00024 //--------------- 00025 // C++ Headers -- 00026 //--------------- 00027 #include <string> 00028 #include <vector> 00029 00030 // --------------------- 00031 // -- Class Interface -- 00032 // --------------------- 00033 class DTConfigToken { 00034 00035 public: 00036 00037 DTConfigToken(); 00038 ~DTConfigToken(); 00039 00040 int id; 00041 std::string ref; 00042 00043 }; 00044 00045 00046 class DTConfigList { 00047 00048 public: 00049 00052 DTConfigList(); 00053 DTConfigList( const std::string& version ); 00054 00057 virtual ~DTConfigList(); 00058 00061 00062 int get( int id, 00063 DTConfigToken& token ) const; 00064 00066 const 00067 std::string& version() const; 00068 std::string& version(); 00069 00071 void clear(); 00072 00073 int set( int id, const DTConfigToken& token ); 00075 typedef std::vector< std::pair<int,DTConfigToken> >::const_iterator 00076 const_iterator; 00077 const_iterator begin() const; 00078 const_iterator end() const; 00079 00080 private: 00081 00082 DTConfigList( const DTConfigList& x ); 00083 const DTConfigList& operator=( const DTConfigList& x ); 00084 00085 std::string dataVersion; 00086 std::vector< std::pair<int,DTConfigToken> > dataList; 00087 00089 void cacheMap() const; 00090 std::string mapName() const; 00091 00092 }; 00093 00094 00095 #endif // DTConfigList_H 00096