The Gaudi Framework  v30r3 (a5ef0a68)
IScheduler.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_ISCHEDULER_H
2 #define GAUDIKERNEL_ISCHEDULER_H
3 
4 // Framework include files
7 
8 // C++ include files
9 #include <functional>
10 #include <vector>
11 
20 class GAUDI_API IScheduler : virtual public IInterface
21 {
22 public:
25 
27  virtual StatusCode pushNewEvent( EventContext* eventContext ) = 0;
28 
31  virtual StatusCode pushNewEvents( std::vector<EventContext*>& eventContexts ) = 0;
32 
34  virtual StatusCode popFinishedEvent( EventContext*& eventContext ) = 0;
35 
37  virtual StatusCode tryPopFinishedEvent( EventContext*& eventContext ) = 0;
38 
40  virtual unsigned int freeSlots() = 0;
41 
42  virtual void dumpState(){};
43 
45  virtual StatusCode scheduleEventView( EventContext const* sourceContext, std::string const& nodeName,
46  EventContext* viewContext ) = 0;
47 };
48 #endif
virtual void dumpState()
Definition: IScheduler.h:42
This class represents an entry point to all the event specific data.
Definition: EventContext.h:24
STL class.
General interface for algorithm scheduler.
Definition: IScheduler.h:20
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
STL class.
#define GAUDI_API
Definition: Kernel.h:104