VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
luaMessageInterface.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 #pragma once
6 
7 #include <vrfLua/vrfLuaDefines.h>
8 #include <luabind/luabind.hpp>
9 #include <unordered_map>
11 #include <functional>
12 
13 class DtScriptVrfObject;
15 class DtAdminContent;
16 class DtVrfObjectMessage;
17 class DtScriptVrfObject;
18 
24 {
25 private:
29  DtLuaMessageInterface& operator=(const DtLuaMessageInterface& other);
30 public:
31  typedef DtAdminContent*(*luaTableToAdminContentFcn)(const luabind::object& messageContents);
32  typedef bool(*adminContentToLuaTableFcn)(const DtAdminContent*, luabind::object& luaTable);
33 
35  //typedef void(*receiveLuaMessageFcn)(const std::string& messageType, const luabind::object& messageContents, void* usr);
36  typedef std::function<void(const DtVrfObjectMessage* msg)> MessageReceiveFcn;
37 
39  virtual ~DtLuaMessageInterface();
40 
41  virtual void sendMessage(const DtScriptVrfObject& receiver, const std::string& messageType, const luabind::object& messageContents);
42  virtual void sendRadioMessage(const DtScriptVrfObject& receiver, const std::string& messageType, const luabind::object& messageContents);
43  virtual void registerForMessage(const std::string& messageType);
44  virtual void unregisterForMessage(const std::string& messageType);
45 
46 protected:
47  static void objectMessageCallback(const DtVrfObjectMessage* msg, void* usr);
48  virtual void processObjectMessage(const DtVrfObjectMessage* msg);
49 
50 protected:
52  std::list<DtAdminContentMessageType> myRegisteredAdminTypes;
54 };
std::list< DtAdminContentMessageType > myRegisteredAdminTypes
Definition: luaMessageInterface.h:52
Handles translation of messages from C++ structures into Lua tables and the reverse translation as we...
Definition: luaMessageInterface.h:23
std::function< void(const DtVrfObjectMessage *msg)> MessageReceiveFcn
Function signature for the function called when.
Definition: luaMessageInterface.h:36
DtVrfObjectCommunicationInterface * myCommunicationIf
Definition: luaMessageInterface.h:51
MessageReceiveFcn myMessageReceiveFcn
Definition: luaMessageInterface.h:53
#define DT_DLL_vrfLua
This file is used to determine how to build.
Definition: vrfLuaDefines.h:25
The base class for all messages to/from a specific DtVrfObject.
Definition: vrfObjectMessage.h:30
DtAdminContent.
Definition: adminContent.h:24
The central class of a DtVrfObject for all communications to and from the object. ...
Definition: vrfObjectCommunicationInterface.h:45
Definition: scriptVrfObject.h:24

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)