00001
00002 #ifndef VALIDINPUTSOURCE_H_
00003 #define VALIDINPUTSOURCE_H_
00004
00005 #include <GaudiKernel/Time.h>
00006 #include <GaudiKernel/IValidity.h>
00007
00008 #include <xercesc/util/XercesDefs.hpp>
00009 #include <xercesc/util/PlatformUtils.hpp>
00010
00011 #include <xercesc/framework/MemoryManager.hpp>
00012
00013 #include <xercesc/framework/MemBufInputSource.hpp>
00014
00015
00023 class ValidInputSource: public xercesc::MemBufInputSource, virtual public IValidity {
00024
00025 public:
00026
00028 ValidInputSource ( const XMLByte *const srcDocBytes,
00029 const unsigned int byteCount,
00030 const XMLCh *const bufId,
00031 const bool adoptBuffer = false,
00032 xercesc::MemoryManager *const manager = xercesc::XMLPlatformUtils::fgMemoryManager );
00033
00035 virtual ~ValidInputSource();
00036
00037
00038
00040 virtual bool isValid() const;
00041
00043 virtual bool isValid( const Gaudi::Time& time) const;
00044
00046 virtual const Gaudi::Time& validSince() const;
00047
00049 virtual const Gaudi::Time& validTill() const;
00050
00052 virtual void setValidity( const Gaudi::Time& since, const Gaudi::Time& until);
00053
00055 virtual void setValiditySince( const Gaudi::Time& since);
00056
00058 virtual void setValidityTill( const Gaudi::Time& until);
00059
00060 private:
00061
00063 Gaudi::Time m_since;
00064
00066 Gaudi::Time m_until;
00067
00068 };
00069
00070 #endif