00001 #ifndef DetectorDescription_Parser_XMLConfiguration_H 00002 #define DetectorDescription_Parser_XMLConfiguration_H 00003 00004 // --------------------------------------------------------------------------- 00005 // Includes 00006 // --------------------------------------------------------------------------- 00007 #include "DetectorDescription/Parser/interface/DDLDocumentProvider.h" 00008 #include "DetectorDescription/Parser/interface/DDLSAX2ConfigHandler.h" 00009 00010 // From DD Core 00011 #include "DetectorDescription/Core/interface/DDCompactView.h" 00012 00013 class DDLParser; 00014 class DDLSAX2Handler; 00015 class DDLSAX2ConfigHandler; 00016 00017 #include <string> 00018 #include <vector> 00019 #include <map> 00020 00022 00031 class FIPConfiguration : public DDLDocumentProvider { 00032 00033 00034 public: 00035 00036 FIPConfiguration( DDCompactView& cpv); 00037 virtual ~FIPConfiguration(); 00038 00040 int readConfig(const std::string& filename); 00041 00043 int readConfig(const std::string& filename, bool fullPath); 00044 00046 virtual const std::vector < std::string >& getFileList(void) const; 00047 00049 00052 virtual const std::vector < std::string >& getURLList(void) const; 00053 00055 virtual void dumpFileList(void) const; 00056 00058 virtual bool doValidation() const; 00059 00061 std::string getSchemaLocation() const; 00062 00063 protected: 00064 00065 private: 00066 DDLSAX2ConfigHandler configHandler_; 00067 std::vector<std::string> files_; 00068 std::vector<std::string> urls_; 00069 DDCompactView& cpv_; 00070 }; 00071 00072 #endif