BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
BestMatchingMessageDelivery.h
Go to the documentation of this file.
1#ifndef BPMNOS_Execution_BestMatchingMessageDelivery_H
2#define BPMNOS_Execution_BestMatchingMessageDelivery_H
3
4#include <bpmn++.h>
9
10namespace BPMNOS::Execution {
11
12/**
13 * @brief Class creating a message delivery.
14 */
15class BestMatchingMessageDelivery : public GreedyDispatcher< std::weak_ptr<const Token>, std::weak_ptr<const DecisionRequest>, std::weak_ptr<const Message> > {
16public:
18 std::shared_ptr<Event> dispatchEvent( const SystemState* systemState ) override;
19 void connect(Mediator* mediator) override;
20 void notice(const Observable* observable) override;
21private:
22 auto_list< std::weak_ptr<const Token>, std::weak_ptr<const DecisionRequest>, const BPMNOS::Values > requests;
24};
25
26} // namespace BPMNOS::Execution
27
28#endif // BPMNOS_Execution_BestMatchingMessageDelivery_H
29
std::shared_ptr< Event > dispatchEvent(const SystemState *systemState) override
void notice(const Observable *observable) override
Represents an abstract base class for a pending Evaluator.
Definition Evaluator.h:15
Class for dispatching the event with the best evaluation.
A class representing the state that the execution or simulation of a given scenario is in.
Definition SystemState.h:21
List of tuples with automatic removal of tuples containing an expired weak_ptr.
Definition auto_list.h:15
Represents an abstract base class for a class that is an event listener and notifier.
Definition Mediator.h:13