|
Gaudi Framework, version v22r4 |
| Home | Generated: Fri Sep 2 2011 |
00001 //$Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/IEvtSelector.h,v 1.5 2006/11/30 15:22:07 dquarrie Exp $ 00002 #ifndef GAUDIKERNEL_IEVTSELECTOR_H 00003 #define GAUDIKERNEL_IEVTSELECTOR_H 1 00004 00005 // Include files 00006 #include "GaudiKernel/IInterface.h" 00007 #include "GaudiKernel/IOpaqueAddress.h" 00008 #include "GaudiKernel/StatusCode.h" 00009 #include <string> 00010 00019 class GAUDI_API IEvtSelector: virtual public IInterface { 00020 public: 00022 DeclareInterfaceID(IEvtSelector,2,0); 00023 00024 class Context{ 00025 public: 00026 virtual ~Context() { } 00027 virtual void* identifier() const=0; 00028 }; 00029 00035 virtual StatusCode createContext(Context*& c) const = 0; 00036 00044 virtual StatusCode next(Context& c) const = 0; 00045 00051 virtual StatusCode next(Context& c,int jump) const = 0; 00052 00059 virtual StatusCode previous(Context& c) const = 0; 00060 00066 virtual StatusCode previous(Context& c,int jump) const = 0; 00067 00071 virtual StatusCode last(Context& refContext) const = 0; 00072 00078 virtual StatusCode rewind(Context& c) const = 0; 00079 00086 virtual StatusCode createAddress(const Context& c,IOpaqueAddress*& iop) const = 0; 00087 00092 virtual StatusCode releaseContext(Context*&)const=0; 00093 00100 virtual StatusCode resetCriteria(const std::string& cr,Context& c)const=0; 00101 }; 00102 00103 #endif //GAUDIKERNEL_IEVTSELECTOR_H