28#include <cbeam/container/xpod.hpp>
30#include <cbeam/container/nested_map.hpp>
32#include <cbeam/serialization/nested_map.hpp>
34#include "nexuslua_export.h"
43 using LuaTableBase = cbeam::container::nested_map<cbeam::container::xpod::type, cbeam::container::xpod::type>;
59 LuaTable(
const cbeam::serialization::serialized_object serializedNestedMap);
62 LuaTable(
const cbeam::container::nested_map<cbeam::container::xpod::type, cbeam::container::xpod::type>& baseInstance);
65 void SetReplyTo(
const std::string& agentName,
const std::string& messageName);
The nexuslua library is implemented inside this namespace.
cbeam::container::nested_map< cbeam::container::xpod::type, cbeam::container::xpod::type > LuaTableBase
Definition lua_table.hpp:43
LuaTable(const cbeam::container::nested_map< cbeam::container::xpod::type, cbeam::container::xpod::type > &baseInstance)
construct LuaTable from an instance of its base class
static constexpr std::string_view tableToMergeWhenReplyingId
name of a cbeam::container::nested_map::sub_tables entry that stores the agent that a message shall r...
Definition lua_table.hpp:75
static constexpr std::string_view replyToTableId
name of a cbeam::container::nested_map::sub_tables entry that stores the agent that a message shall r...
Definition lua_table.hpp:74
bool RequestsUnreplicatedReceiver() const
return true if the table represents message parameters from a sender that requests that the message m...
void SetReplyTo(const std::string &agentName, const std::string &messageName)
Sets the entries "reply_to/agent" and "reply_to/message" to the given strings, which will trigger an ...
std::string GetReplyToMessageNameOrEmpty() const
if there is an entry "reply_to/message", returns it, otherwise returns the empty string
static constexpr std::string_view unreplicatedId
name of a data field that stores if the sender requests that the message must be received by a non-re...
Definition lua_table.hpp:76
static constexpr std::string_view agentNameId
name of an entry in cbeam::serialization::serialized_object::data that stores the name of the agent t...
Definition lua_table.hpp:77
LuaTable(const cbeam::serialization::serialized_object serializedNestedMap)
construct table from serialized void*
LuaTableBase GetTableToMergeWhenReplyingOrEmpty() const
if there is a table entry "reply_to/merge", return it, otherwise an empty nexuslua::LuaTableBase
static constexpr std::string_view agentMessageId
name of an entry in cbeam::serialization::serialized_object::data that stores the name of the message...
Definition lua_table.hpp:78
void SetReplyToMessageName(const std::string &messageName)
only sets the entry "reply_to/message" to the given message name, leaves the "reply_to/agent" unchang...
void SetOriginalMessage(const std::shared_ptr< Message > originalMessage)
Copies the given message into a sub table (cbeam::container::nested_map::sub_tables) with name "origi...
void SetReplyToAgentName(const std::string &agentName)
only sets the entry "reply_to/agent" to the given name, leaves the "reply_to/message" unchanged
std::string GetReplyToAgentNameOrEmpty() const
if there is an entry "reply_to/agent", returns it, otherwise returns the empty string
LuaTable()=default
construct empty LuaTable
This type is the actual message type that is sent by function send.
Definition message.hpp:44