00001 #ifndef MOCKEVT_MOCKEVTSELECTOR_H 00002 #define MOCKEVT_MOCKEVTSELECTOR_H 1 00003 00004 #include "GaudiKernel/Service.h" 00005 #include "GaudiKernel/IEvtSelector.h" 00006 #include "Context/TimeStamp.h" 00007 00008 class MockEvtSelector : 00009 public Service, 00010 virtual public IEvtSelector { 00011 00012 public: 00013 00014 class MockEvtContext : public IEvtSelector::Context { 00015 00016 public: 00017 MockEvtContext(); 00018 virtual ~MockEvtContext(); 00019 virtual void* identifier() const { return 0; } 00020 00021 void jump(int distance); 00022 StatusCode getEvent() const; 00023 00024 const TimeStamp& readoutTime() const; 00025 int sequenceNumber() const; 00026 00027 private: 00028 00030 int m_sequenceNumber; 00031 00033 TimeStamp m_readoutTime; 00034 }; 00035 00037 MockEvtSelector(const std::string& name, 00038 ISvcLocator* svc); 00039 00041 virtual ~MockEvtSelector(); 00042 00044 virtual StatusCode createContext(Context*& c) const; 00045 virtual StatusCode next(Context& c) const; 00046 virtual StatusCode createAddress(const Context& c, 00047 IOpaqueAddress*& iop) const; 00048 virtual StatusCode releaseContext(Context*&) const; 00049 00051 virtual StatusCode queryInterface(const InterfaceID& id, 00052 void** interface ); 00053 00055 virtual StatusCode next(Context& c,int jump) const; 00056 virtual StatusCode previous(Context& c) const; 00057 virtual StatusCode previous(Context& c,int jump) const; 00058 virtual StatusCode last(Context& refContext) const; 00059 virtual StatusCode rewind(Context& c) const; 00060 virtual StatusCode resetCriteria(const std::string& cr, 00061 Context& c) const; 00062 00063 private: 00064 00065 StringProperty m_readoutPath; 00066 00067 }; 00068 00069 #endif // MOCKEVT_MOCKEVTSELECTOR_H