![]() |
VR-Forces 5.0.2 Developer's Guide
|
Handles translation of messages from C++ structures into Lua tables and the reverse translation as well. Provides interface for Lua scripts to register interest in various messages and send messages.
Public Types | |
| typedef DtAdminContent *(* | luaTableToAdminContentFcn )(const luabind::object &messageContents, DtSimulationServices *) |
| typedef bool(* | adminContentToLuaTableFcn )(const DtAdminContent *, luabind::object &luaTable, DtSimulationServices *) |
Public Member Functions | |
| DtLuaMessageBuilder () | |
| virtual | ~DtLuaMessageBuilder () |
| virtual void | registerAdminContentType (DtAdminContentMessageType type, luaTableToAdminContentFcn toAcFcn, adminContentToLuaTableFcn toTableFcn) |
| virtual DtVrfObjectMessage * | createMessageFromContents (const std::string &messageType, const luabind::object &messageContents, DtSimulationServices *s) const |
| virtual bool | convertMessageToLua (const DtVrfObjectMessage *message, std::string &messageType, luabind::object &messageContents, DtSimulationServices *s) const |
| virtual void | registerDefaultMessages () |
| virtual DtAdminContentMessageType | adminTypeForString (const std::string &typeString) const |
Static Public Member Functions | |
| static void | setInstance (DtLuaMessageBuilder *mb) |
| static const DtLuaMessageBuilder * | instance () |
| static DtLuaMessageBuilder * | create () |
Protected Attributes | |
| std::unordered_map < std::string, adminContentToLuaTableFcn > | myAdminContentToLuaTableFunctions |
| std::unordered_map < std::string, luaTableToAdminContentFcn > | myLuaTableToAdminContentFunctions |
Static Protected Attributes | |
| static DtLuaMessageBuilder * | theLuaMessageBuilder |
Private Member Functions | |
| DtLuaMessageBuilder (const DtLuaMessageBuilder &other) | |
| DtLuaMessageBuilder & | operator= (const DtLuaMessageBuilder &other) |
| typedef DtAdminContent*(* DtLuaMessageBuilder::luaTableToAdminContentFcn)(const luabind::object &messageContents, DtSimulationServices *) |
| typedef bool(* DtLuaMessageBuilder::adminContentToLuaTableFcn)(const DtAdminContent *, luabind::object &luaTable, DtSimulationServices *) |
|
private |
Not implemented.
| DtLuaMessageBuilder::DtLuaMessageBuilder | ( | ) |
|
virtual |
|
private |
Not implemented.
|
virtual |
Adds a new admin content type to the system with the functions needed to convert it to/from a lua table.
|
virtual |
|
virtual |
Fills in messageType and messageContents based on message for any message type that is registered with the builder.
|
virtual |
Registers the the default VRF message builder functions.
|
virtual |
If provided string is registered as an adminContent type, this returns the equivalent admin content type. If it is not registered, the DtAdminContentMessageType is returned.
|
static |
Sets the global instance of the message builder to the provided pointer.
|
static |
Returns the global instance.
|
static |
Creates instance and registers default messages.
|
protected |
Map keyed by admin content type that contains functions for creating the admin content from a lua table of contents.
|
protected |
|
staticprotected |