00001 #ifndef _QLC_CONFIG_WRITER_HH_ 00002 #define _QLC_CONFIG_WRITER_HH_ 00003 00004 #include <map> 00005 #include <string> 00006 #include <vector> 00007 #include "QVector.hh" 00008 #include "QMatrix.hh" 00009 #include "QError.hh" 00010 #include "QLCSlowConfig.hh" 00011 00012 00013 enum Mode { 00014 M_UNKNOWN = 0, 00015 M_WP = 1, 00016 }; 00017 00018 class QLCConfigWriter 00019 { 00020 public: 00021 enum Mode { 00022 M_UNKNOWN = 0, 00023 M_WP = 1, 00024 }; 00025 00026 00027 QLCConfigWriter(); 00028 virtual ~QLCConfigWriter() {}; 00029 void Clear(); 00030 QError Add(const QLCSlowConfig& config, const std::string& set); 00031 QError Add(const std::map<unsigned short, QLCSlowConfig>& configMap, const std::string& set); 00032 QError Write(const Mode mode, const std::string& filename); 00033 00034 bool Contains(const QLCSlowConfig& config, const std::string& set); 00035 00036 private: 00037 Cuore::QMatrix vector2QMatrix(const std::vector<QLCSlowConfig>& configs,const Mode mode); 00038 std::map<std::string, std::vector<QLCSlowConfig> > fSets; 00039 00040 00041 }; 00042 00043 #endif