BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
EventDispatcher.h
Go to the documentation of this file.
1#ifndef BPMNOS_Execution_EventDispatcher_H
2#define BPMNOS_Execution_EventDispatcher_H
3
4#include "Event.h"
5#include "SystemState.h"
6
7namespace BPMNOS::Execution {
8
9class Mediator;
10
12public:
13 virtual ~EventDispatcher() = default;
14 virtual std::shared_ptr<Event> dispatchEvent( [[maybe_unused]] const SystemState* systemState ) = 0;
15 virtual void connect(Mediator* mediator);
16 virtual void notice([[maybe_unused]] Event* event);
17};
18
19} // namespace BPMNOS::Execution
20
21#endif // BPMNOS_Execution_EventDispatcher_H
virtual std::shared_ptr< Event > dispatchEvent(const SystemState *systemState)=0
virtual void notice(Event *event)
virtual void connect(Mediator *mediator)
A class representing the state that the execution or simulation of a given scenario is in.
Definition SystemState.h:21
Represents an abstract base class for a class that is an event listener and notifier.
Definition Mediator.h:13