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 public:
24 
26  virtual StatusCode pushNewEvent(EventContext* eventContext) = 0;
27 
30  virtual StatusCode pushNewEvents(std::vector<EventContext*>& eventContexts) = 0;
31 
33  virtual StatusCode popFinishedEvent(EventContext*& eventContext) = 0;
34 
36  virtual StatusCode tryPopFinishedEvent(EventContext*& eventContext) = 0;
37 
39  virtual unsigned int freeSlots() = 0;
40 
41  virtual void dumpState() {};
42 
43 };
44 #endif
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:14
virtual void dumpState()
Definition: IScheduler.h:41
This class represents an entry point to all the event specific data.
Definition: EventContext.h:25
General interface for algorithm scheduler.
Definition: IScheduler.h:20
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
Definition of the basic interface.
Definition: IInterface.h:234
STL class.
#define GAUDI_API
Definition: Kernel.h:107