2 #include <State/Address.hpp>
3 #include <State/Message.hpp>
4 #include <State/Value.hpp>
6 #include <score/config.hpp>
7 #include <score/model/Identifier.hpp>
8 #include <score/model/tree/TreeNode.hpp>
9 #include <score/tools/std/Optional.hpp>
14 #include <score_lib_process_export.h>
25 std::optional<ossia::value> value;
28 enum class PriorityPolicy
40 std::vector<ProcessStateData> previousProcessValues;
41 std::vector<ProcessStateData> followingProcessValues;
42 std::optional<ossia::value> userValue;
44 std::array<PriorityPolicy, 3> priorities{
45 {PriorityPolicy::Previous, PriorityPolicy::Following, PriorityPolicy::User}};
47 bool hasValue()
const;
49 static bool hasValue(
const std::vector<ProcessStateData>& vec);
50 static std::vector<ProcessStateData>::const_iterator
51 value(
const std::vector<ProcessStateData>& vec);
55 std::optional<ossia::value> value()
const;
57 QString displayValue()
const;
65 QString displayName()
const;
66 bool hasValue()
const;
67 std::optional<ossia::value> value()
const;
70 SCORE_LIB_PROCESS_EXPORT QDebug operator<<(QDebug d,
const ProcessStateData& mess);
71 SCORE_LIB_PROCESS_EXPORT QDebug operator<<(QDebug d,
const StateNodeData& mess);
81 SCORE_LIB_PROCESS_EXPORT std::vector<Process::MessageNode*>
83 SCORE_LIB_PROCESS_EXPORT State::MessageList flatten(
const MessageNode&);
84 SCORE_LIB_PROCESS_EXPORT State::MessageList getUserMessages(
const MessageNode&);
85 SCORE_LIB_PROCESS_EXPORT
bool hasMatchingAddress(
86 const MessageNode& root,
const std::vector<State::AddressAccessor>& addr,
87 State::MessageList& msglist, std::vector<QString>& converted_addresses);
88 SCORE_LIB_PROCESS_EXPORT
bool hasMatchingText(
89 const MessageNode& root,
const QString& text, State::MessageList& msglist,
90 std::vector<QString>& converted_addresses);
93 #if SCORE_EXTERN_TEMPLATES_IN_SHARED_LIBRARIES
The id_base_t class.
Definition: Identifier.hpp:57
Base classes and tools to implement processes and layers.
Definition: JSONVisitor.hpp:1324
Definition: MessageNode.hpp:23
Definition: MessageNode.hpp:61
Definition: MessageNode.hpp:36
The AddressAccessorHead struct.
Definition: Address.hpp:147
Definition: Address.hpp:108
The Message struct.
Definition: Message.hpp:15