| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# IEvtSelector.h

Go to the documentation of this file.

    00001 //$Header: /local/reps/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
    00007 //#include "GaudiKernel/Kernel.h"
    00008 #include "GaudiKernel/StatusCode.h"
    00009 #include "GaudiKernel/IInterface.h"
    00010 #include "GaudiKernel/IOpaqueAddress.h"
    00011 #include "GaudiKernel/StatusCode.h"
    00012 #include <string>
    00013
    00014 // Declaration of the interface ID ( interface id, major version, minor version)
    00015 static const InterfaceID IID_IEvtSelector(41, 1 , 0);
    00016
    00025 class IEvtSelector : virtual public IInterface {
    00026  public:
    00027   class Context{
    00028   public:
    00029     virtual ~Context() { }
    00030     virtual void* identifier() const=0;
    00031   };
    00033   static const InterfaceID& interfaceID() { return IID_IEvtSelector;}
    00034
    00040   virtual StatusCode createContext(Context*& c) const = 0;
    00041
    00049   virtual StatusCode next(Context& c) const  = 0;
    00050
    00056   virtual StatusCode next(Context& c,int jump) const  = 0;
    00057
    00064   virtual StatusCode previous(Context& c) const = 0;
    00065
    00071   virtual StatusCode previous(Context& c,int jump) const = 0;
    00072
    00076   virtual StatusCode last(Context& refContext) const = 0;
    00077
    00083   virtual StatusCode rewind(Context& c) const = 0;
    00084
    00091   virtual StatusCode createAddress(const Context& c,IOpaqueAddress*& iop) const = 0;
    00092
    00097   virtual StatusCode releaseContext(Context*&)const=0;
    00098
    00105   virtual StatusCode resetCriteria(const std::string& cr,Context& c)const=0;
    00106 };
    00107
    00108 #endif //GAUDIKERNEL_IEVTSELECTOR_H