BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
ExitEvent.h
Go to the documentation of this file.
1#ifndef BPMNOS_Execution_ExitEvent_H
2#define BPMNOS_Execution_ExitEvent_H
3
4#include <bpmn++.h>
7
8namespace BPMNOS::Execution {
9
10/**
11 * @brief Represents the event of a token exiting a node.
12 *
13 * Transition from State::COMPLETION to State::DONE or State::DEPARTED
14 */
15struct ExitEvent : virtual Event {
16 ExitEvent(const Token* token, std::optional<Values> exitStatus = std::nullopt);
17 void processBy(Engine* engine) const override;
18 std::optional<Values> exitStatus;
19
20 nlohmann::ordered_json jsonify() const override;
21};
22
23} // namespace BPMNOS::Execution
24
25#endif // BPMNOS_Execution_ExitEvent_H
26
Represents a token running through a (sub)process.
Definition Token.h:35
const Token * token
Definition Event.h:18
Represents the event of a token exiting a node.
Definition ExitEvent.h:15
nlohmann::ordered_json jsonify() const override
Definition ExitEvent.cpp:16
ExitEvent(const Token *token, std::optional< Values > exitStatus=std::nullopt)
Definition ExitEvent.cpp:6
std::optional< Values > exitStatus
Definition ExitEvent.h:18
void processBy(Engine *engine) const override
Definition ExitEvent.cpp:12