00001 #ifndef QTestConfigurationParser_H 00002 #define QTestConfigurationParser_H 00003 00015 #include "DQMServices/ClientConfig/interface/DQMParserBase.h" 00016 00017 #include<iostream> 00018 #include<string> 00019 #include<vector> 00020 #include<map> 00021 00022 class QTestParameterNames; 00023 00024 class QTestConfigurationParser : public DQMParserBase { 00025 00026 public: 00028 QTestConfigurationParser(); 00030 ~QTestConfigurationParser(); 00032 bool parseQTestsConfiguration(); 00034 std::map<std::string, std::map<std::string, std::string> > testsList() const { return testsRequested;} 00036 std::map<std::string, std::vector<std::string> > meToTestsList() const { return mapMonitorElementTests;} 00037 00038 private: 00039 bool qtestsConfig(); 00040 bool monitorElementTestsMap(); 00041 std::map<std::string, std::string> getParams(xercesc::DOMElement* qtestElement, std::string test); 00042 int instances(){return s_numberOfInstances;} 00043 bool checkParameters(std::string qtestName, std::string qtestType); 00044 00045 00046 00047 private: 00048 static int s_numberOfInstances; 00049 00050 std::map<std::string, std::map<std::string, std::string> > testsRequested; 00051 std::map<std::string, std::vector<std::string> > mapMonitorElementTests; 00052 std::vector<std::string> testsToDisable; 00053 00054 QTestParameterNames * qtestParamNames; 00055 00056 00057 }; 00058 00059 00060 #endif