The Gaudi Framework  v30r3 (a5ef0a68)
IEvtSelector.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IEVTSELECTOR_H
2 #define GAUDIKERNEL_IEVTSELECTOR_H 1
3 
4 // Include files
8 #include <string>
9 
18 class GAUDI_API IEvtSelector : virtual public IInterface
19 {
20 public:
23 
24  class Context
25  {
26  public:
27  virtual ~Context() = default;
28  virtual void* identifier() const = 0;
29  };
30 
36  virtual StatusCode createContext( Context*& c ) const = 0;
37 
45  virtual StatusCode next( Context& c ) const = 0;
46 
52  virtual StatusCode next( Context& c, int jump ) const = 0;
53 
60  virtual StatusCode previous( Context& c ) const = 0;
61 
67  virtual StatusCode previous( Context& c, int jump ) const = 0;
68 
72  virtual StatusCode last( Context& refContext ) const = 0;
73 
79  virtual StatusCode rewind( Context& c ) const = 0;
80 
87  virtual StatusCode createAddress( const Context& c, IOpaqueAddress*& iop ) const = 0;
88 
93  virtual StatusCode releaseContext( Context*& ) const = 0;
94 
101  virtual StatusCode resetCriteria( const std::string& cr, Context& c ) const = 0;
102 };
103 
104 #endif // GAUDIKERNEL_IEVTSELECTOR_H
The Event Selector Interface.
Definition: IEvtSelector.h:18
STL class.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:51
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:13
Definition of the basic interface.
Definition: IInterface.h:277
Opaque address interface definition.
#define GAUDI_API
Definition: Kernel.h:104