VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
guiThreadNetworkCallbackManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
12 
13 #pragma once
14 
15 #include <vrfGuiCore/vrfGuiCore.h>
21 
22 #include <vrvUtil/signalslib.h>
23 
24 class DtSimMessage;
25 
34 
35 #define CONNECT_FOR_SIM_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).simMessageSignal(_type).connect(_function);
36 #define DISCONNECT_FOR_SIM_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).simMessageSignal(_type).disconnect(_function);
37 
38 #define CONNECT_FOR_OBJECT_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).objectMessageSignal(_type).connect(_function);
39 #define DISCONNECT_FOR_OBJECT_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).objectMessageSignal(_type).disconnect(_function);
40 
41 #define CONNECT_FOR_COMMENT_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtCommentInteractionInterface::theName()).connect(_function);
42 #define DISCONNECT_FOR_COMMENT_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtCommentInteractionInterface::theName()).disconnect(_function);
43 
44 #define CONNECT_FOR_INFLUENCE_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtInfluenceInteractionInterface::theName()).connect(_function);
45 #define DISCONNECT_FOR_INFLUENCE_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtInfluenceInteractionInterface::theName()).disconnect(_function);
46 
47 #define CONNECT_FOR_INTERFACE_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(_type).connect(_function);
48 #define DISCONNECT_FOR_INTERFACE_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(_type).disconnect(_function);
49 
50 #define CONNECT_FOR_RADIO_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).radioMessageSignal(_type).connect(_function);
51 #define DISCONNECT_FOR_RADIO_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).radioMessageSignal(_type).disconnect(_function);
52 
53 namespace makVrv
54 {
55  class DtDe;
56 }
57 
58 namespace makVrf
59 {
61 
62  typedef boost::signals2::signal<void (DtSimMessage*)> SimMessageSignal;
63  typedef boost::signals2::signal<void (const DtVrfObjectMessage*)> ObjectMessageCallbackSignal;
64  typedef boost::signals2::signal<void (DtNetworkMessageInterface*)> NetworkInterfaceCallbackSignal;
65 
76  {
77  public:
78  typedef std::map<int, SimMessageSignal*> DtVrfMessageCallbackMap;
79  typedef std::map<DtAdminContentMessageType, ObjectMessageCallbackSignal*> DtAdminContentMessageCallbackMap;
80  typedef std::map<DtSimReportMessageType, ObjectMessageCallbackSignal*> DtSimReportMessageCallbackMap;
81  typedef std::map<DtSimTaskMessageType, ObjectMessageCallbackSignal*> DtSimTaskMessageCallbackMap;
82  typedef std::map<DtSetMessageType, ObjectMessageCallbackSignal*> DtSetMessageCallbackMap;
83  typedef std::map<std::string, NetworkInterfaceCallbackSignal*> DtNetworkCallbackMap;
84 
85  public:
88 
90  static DtGuiThreadNetworkCallbackManager& instance(makVrv::DtDe& de);
91 
92  public:
96 
97  virtual SimMessageSignal& simMessageSignal(int type);
99 
103 
104  virtual ObjectMessageCallbackSignal& objectMessageSignal(const DtAdminContentMessageType& type);
106 
110 
111  virtual ObjectMessageCallbackSignal& radioMessageSignal(const DtSimReportMessageType& type);
112  virtual ObjectMessageCallbackSignal& radioMessageSignal(const DtSimTaskMessageType& type);
113  virtual ObjectMessageCallbackSignal& radioMessageSignal(const DtSetMessageType& type);
115 
118 
119  virtual NetworkInterfaceCallbackSignal& networkInterfaceMessageSignal(std::string messageName);
121 
123  virtual void messageReceived(DtNetworkMessageInterface*);
124 
126  virtual void registerForInfluenceInteraction();
127 
129  virtual void unregisterForInfluenceInteraction();
130 
132  virtual void tdlMessageReceived(const DtTDLGenericNetworkMessage&);
133  boost::signals2::signal<void (const DtTDLGenericNetworkMessage&)> signal_tdlMessageReceived;
134 
135  protected:
137  virtual void registerSimMessageCallbackWithDriver(int t);
138 
140  virtual void unregisterSimMessageCallbackWithDriver(int t);
141 
142  virtual void processSimMessageCallback(DtNetworkMessageInterface*);
143 
144  virtual void vrfObjectMessageCallback(DtSimMessage* msg);
145 
147  virtual void processVrfObjectMessageInterfaceCallback(DtNetworkMessageInterface* msg);
148 
150  virtual void processVrfObjectMessageCallback(DtVrfObjectMessage* msg, bool forFrontEndOnly = true);
151 
153  virtual void registerForCommentInteraction();
154 
156  virtual void unregisterForCommentInteraction();
157 
158  protected:
159  virtual void registerAdminMessageCallbackFor(const DtAdminContentMessageType& type);
160  virtual void unregisterAdminMessageCallbackFor(const DtAdminContentMessageType& type);
161 
162  virtual void registerReportMessageCallbackFor(const DtSimReportMessageType& type);
163  virtual void unregisterReportMessageCallbackFor(const DtSimReportMessageType& type);
164 
165  virtual void registerTaskMessageCallbackFor(const DtSimTaskMessageType& type);
166  virtual void unregisterTaskMessageCallbackFor(const DtSimTaskMessageType& type);
167 
168  virtual void registerSetMessageCallbackFor(const DtSetMessageType& type);
169  virtual void unregisterSetMessageCallbackFor(const DtSetMessageType& type);
170 
171  protected:
178  };
179 }
std::map< int, SimMessageSignal * > DtVrfMessageCallbackMap
Definition: guiThreadNetworkCallbackManager.h:78
DtSimReportMessageCallbackMap myReportMessageCallbacks
Definition: guiThreadNetworkCallbackManager.h:174
Definition: networkMessageInterface.h:28
std::map< std::string, NetworkInterfaceCallbackSignal * > DtNetworkCallbackMap
Definition: guiThreadNetworkCallbackManager.h:83
std::map< DtSetMessageType, ObjectMessageCallbackSignal * > DtSetMessageCallbackMap
Definition: guiThreadNetworkCallbackManager.h:82
boost::signals2::signal< void(DtSimMessage *)> SimMessageSignal
Definition: guiThreadNetworkCallbackManager.h:60
boost::signals2::signal< void(const DtTDLGenericNetworkMessage &)> signal_tdlMessageReceived
Definition: guiThreadNetworkCallbackManager.h:133
DtVrfMessageCallbackMap myCallbacks
Definition: guiThreadNetworkCallbackManager.h:172
Definition: vrfObjectMessageTypeTemplate.h:24
DtAdminContentMessageCallbackMap myAdminMessageCallbacks
Definition: guiThreadNetworkCallbackManager.h:173
std::map< DtSimReportMessageType, ObjectMessageCallbackSignal * > DtSimReportMessageCallbackMap
Definition: guiThreadNetworkCallbackManager.h:80
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
std::map< DtSimTaskMessageType, ObjectMessageCallbackSignal * > DtSimTaskMessageCallbackMap
Definition: guiThreadNetworkCallbackManager.h:81
DtSetMessageCallbackMap mySetMessageCallbacks
Definition: guiThreadNetworkCallbackManager.h:176
DtNetworkCallbackMap myNetworkCallbackMap
Definition: guiThreadNetworkCallbackManager.h:177
File: simMsg.h.
Definition: simMessage.h:35
Definition: tdlGenericNetworkMessage.h:20
The base class for all messages to/from a specific DtVrfObject.
Definition: vrfObjectMessage.h:30
This class receives messages from the VR-Forces Simulation Engine (and other DIS/HLA messages) and in...
Definition: guiThreadNetworkCallbackManager.h:75
The class that is the interface between the GUI and the back-end.
Definition: queuedManager.h:26
std::map< DtAdminContentMessageType, ObjectMessageCallbackSignal * > DtAdminContentMessageCallbackMap
Definition: guiThreadNetworkCallbackManager.h:79
boost::signals2::signal< void(const DtVrfObjectMessage *)> ObjectMessageCallbackSignal
Definition: guiThreadNetworkCallbackManager.h:63
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
boost::signals2::signal< void(DtNetworkMessageInterface *)> NetworkInterfaceCallbackSignal
Definition: guiThreadNetworkCallbackManager.h:64
DtSimTaskMessageCallbackMap myTaskMessageCallbacks
Definition: guiThreadNetworkCallbackManager.h:175

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)