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