00001 #ifndef IOVDOMDOCUMENT_ 00002 #define IOVDOMDOCUMENT_ 00003 00004 #include "GaudiKernel/Time.h" 00005 #include "GaudiKernel/IValidity.h" 00006 00007 #include <xercesc/dom/DOMDocument.hpp> 00008 00009 00018 class IOVDOMDocument: virtual public IValidity { 00019 00020 public: 00021 00023 IOVDOMDocument(xercesc::DOMDocument *dom); 00024 00026 virtual ~IOVDOMDocument(); 00027 00029 inline xercesc::DOMDocument * getDOM() const { return m_dom; } 00030 00031 // -------- Implementation of IValidity -------- 00032 00034 virtual bool isValid() const; 00035 00037 virtual bool isValid( const Gaudi::Time& time) const; 00038 00040 virtual const Gaudi::Time& validSince() const; 00041 00043 virtual const Gaudi::Time& validTill() const; 00044 00046 virtual void setValidity( const Gaudi::Time& since, const Gaudi::Time& until); 00047 00049 virtual void setValiditySince( const Gaudi::Time& since); 00050 00052 virtual void setValidityTill( const Gaudi::Time& until); 00053 00054 private: 00055 00057 Gaudi::Time m_since; 00058 00060 Gaudi::Time m_until; 00061 00063 xercesc::DOMDocument *m_dom; 00064 }; 00065 00066 00067 #endif /*IOVDOMDOCUMENT_*/