Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
IPrecedenceSvc.h
Go to the documentation of this file.
1 #ifndef GAUDIHIVE_IPRECEDENCESVC_H_
2 #define GAUDIHIVE_IPRECEDENCESVC_H_
3 
5 
6 #include <string>
7 
8 class EventSlot;
9 struct Cause;
10 
11 //-----------------------------------------------------------------------------
12 
21 //-----------------------------------------------------------------------------
22 
23 class GAUDI_API IPrecedenceSvc : virtual public IInterface {
24 
25 public:
28 
30  virtual StatusCode iterate( EventSlot&, const Cause& ) = 0;
31 
33  virtual StatusCode simulate( EventSlot& ) const = 0;
34 
36  virtual bool CFRulesResolved( EventSlot& ) const = 0;
37 
39  virtual uint getPriority( const std::string& ) const = 0;
40 
42  virtual bool isBlocking( const std::string& ) const = 0;
43 
45  virtual void dumpControlFlow() const = 0;
46  virtual void dumpDataFlow() const = 0;
47  virtual const std::string printState( EventSlot& ) const = 0;
48 
50  virtual void dumpPrecedenceRules( EventSlot& ) = 0;
52  virtual void dumpPrecedenceTrace( EventSlot& ) = 0;
53 };
54 
55 #endif /* GAUDIHIVE_IPRECEDENCESVC_H_ */
Class representing an event slot.
Definition: EventSlot.h:14
Abstract interface for a service that manages tasks&#39; precedence.
STL class.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
#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:244
#define GAUDI_API
Definition: Kernel.h:71