1#ifndef BPMNOS_Execution_Message_H
2#define BPMNOS_Execution_Message_H
11#include <nlohmann/json.hpp>
18typedef std::vector< std::shared_ptr<Message> >
Messages;
26 static inline std::string stateName[] = {
"CREATED",
"DELIVERED",
"WITHDRAWN" };
37 template <
typename DataType>
40 nlohmann::ordered_json
jsonify()
const;
bool matches(const BPMNOS::Values &otherHeader) const
Returns true if headers have the same size and all values that are defined are the same.
nlohmann::ordered_json jsonify() const
void apply(const BPMN::FlowNode *node, const BPMNOS::Model::AttributeRegistry &attributeRegistry, BPMNOS::Values &status, DataType &data, BPMNOS::Values &globals) const
Updates the status at a node based on the message content.
VariedValueMap contentValueMap
std::optional< BPMNOS::number > recipient
constexpr Type getObservableType() const override
const BPMN::FlowNode * origin
Represents a token running through a (sub)process.
Base class for BPMN elements that may contain incoming and outgoing sequence flows.
std::vector< std::shared_ptr< Message > > Messages
std::unordered_map< std::string, std::variant< std::optional< number >, std::string > > VariedValueMap