VR-Forces 5.0.2 Developer's Guide
 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 
23 
24 class DtSimMessage;
25 
35 
36 #define CONNECT_FOR_SIM_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).simMessageSignal(_type).connect(_function);
37 #define DISCONNECT_FOR_SIM_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).simMessageSignal(_type).disconnect(_function);
38 
39 #define CONNECT_FOR_OBJECT_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).objectMessageSignal(_type).connect(_function);
40 #define DISCONNECT_FOR_OBJECT_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).objectMessageSignal(_type).disconnect(_function);
41 
42 #define CONNECT_FOR_COMMENT_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtCommentInteractionInterface::theName()).connect(_function);
43 #define DISCONNECT_FOR_COMMENT_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtCommentInteractionInterface::theName()).disconnect(_function);
44 
45 #define CONNECT_FOR_INFLUENCE_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtInfluenceInteractionInterface::theName()).connect(_function);
46 #define DISCONNECT_FOR_INFLUENCE_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtInfluenceInteractionInterface::theName()).disconnect(_function);
47 
48 #define CONNECT_FOR_RADIO_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).radioMessageSignal(_type).connect(_function);
49 #define DISCONNECT_FOR_RADIO_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).radioMessageSignal(_type).disconnect(_function);
50 
52 namespace makVrv
53 {
54  class DtDe;
55 }
56 
57 namespace makVrf
58 {
60 
61  typedef boost::signals2::signal<void (DtSimMessage*)> SimMessageSignal;
62  typedef boost::signals2::signal<void (const DtVrfObjectMessage*)> ObjectMessageCallbackSignal;
63  typedef boost::signals2::signal<void (DtNetworkMessageInterface*)> NetworkInterfaceCallbackSignal;
64 
78  {
79  public:
80  typedef std::map<int, SimMessageSignal*> DtVrfMessageCallbackMap;
81  typedef std::map<DtAdminContentMessageType, ObjectMessageCallbackSignal*> DtAdminContentMessageCallbackMap;
82  typedef std::map<DtSimReportMessageType, ObjectMessageCallbackSignal*> DtSimReportMessageCallbackMap;
83  typedef std::map<DtSimTaskMessageType, ObjectMessageCallbackSignal*> DtSimTaskMessageCallbackMap;
84  typedef std::map<DtSetMessageType, ObjectMessageCallbackSignal*> DtSetMessageCallbackMap;
85  typedef std::map<std::string, NetworkInterfaceCallbackSignal*> DtNetworkCallbackMap;
86 
87  public:
90 
92  static DtGuiThreadNetworkCallbackManager& instance(makVrv::DtDe& de);
93 
94  public:
98 
99  virtual SimMessageSignal& simMessageSignal(int type);
101 
105 
106  virtual ObjectMessageCallbackSignal& objectMessageSignal(const DtAdminContentMessageType& type);
108 
112 
113  virtual ObjectMessageCallbackSignal& radioMessageSignal(const DtSimReportMessageType& type);
114  virtual ObjectMessageCallbackSignal& radioMessageSignal(const DtSimTaskMessageType& type);
115  virtual ObjectMessageCallbackSignal& radioMessageSignal(const DtSetMessageType& type);
117 
120 
121  virtual NetworkInterfaceCallbackSignal& networkInterfaceMessageSignal(std::string messageName);
123 
125  virtual void messageReceived(DtNetworkMessageInterface*);
126 
128  virtual void registerForInfluenceInteraction();
129 
131  virtual void unregisterForInfluenceInteraction();
132 
134  virtual void tdlMessageReceived(const DtTDLGenericNetworkMessage&);
135  boost::signals2::signal<void (const DtTDLGenericNetworkMessage&)> signal_tdlMessageReceived;
136 
137  protected:
139  virtual void registerSimMessageCallbackWithDriver(int t);
140 
142  virtual void unregisterSimMessageCallbackWithDriver(int t);
143 
144  virtual void processSimMessageCallback(DtNetworkMessageInterface*);
145 
146  virtual void vrfObjectMessageCallback(DtSimMessage* msg);
147 
149  virtual void processVrfObjectMessageInterfaceCallback(DtNetworkMessageInterface* msg);
150 
152  virtual void processVrfObjectMessageCallback(DtVrfObjectMessage* msg, bool forFrontEndOnly = true);
153 
155  virtual void registerForCommentInteraction();
156 
158  virtual void unregisterForCommentInteraction();
159 
160  protected:
161  virtual void registerAdminMessageCallbackFor(const DtAdminContentMessageType& type);
162  virtual void unregisterAdminMessageCallbackFor(const DtAdminContentMessageType& type);
163 
164  virtual void registerReportMessageCallbackFor(const DtSimReportMessageType& type);
165  virtual void unregisterReportMessageCallbackFor(const DtSimReportMessageType& type);
166 
167  virtual void registerTaskMessageCallbackFor(const DtSimTaskMessageType& type);
168  virtual void unregisterTaskMessageCallbackFor(const DtSimTaskMessageType& type);
169 
170  virtual void registerSetMessageCallbackFor(const DtSetMessageType& type);
171  virtual void unregisterSetMessageCallbackFor(const DtSetMessageType& type);
172 
173  protected:
180  };
181 }
std::map< int, SimMessageSignal * > DtVrfMessageCallbackMap
Definition: guiThreadNetworkCallbackManager.h:80
DtSimReportMessageCallbackMap myReportMessageCallbacks
Definition: guiThreadNetworkCallbackManager.h:176
Definition: networkMessageInterface.h:28
std::map< std::string, NetworkInterfaceCallbackSignal * > DtNetworkCallbackMap
Definition: guiThreadNetworkCallbackManager.h:85
std::map< DtSetMessageType, ObjectMessageCallbackSignal * > DtSetMessageCallbackMap
Definition: guiThreadNetworkCallbackManager.h:84
boost::signals2::signal< void(DtSimMessage *)> SimMessageSignal
Definition: guiThreadNetworkCallbackManager.h:59
boost::signals2::signal< void(const DtTDLGenericNetworkMessage &)> signal_tdlMessageReceived
Definition: guiThreadNetworkCallbackManager.h:135
DtVrfMessageCallbackMap myCallbacks
Definition: guiThreadNetworkCallbackManager.h:174
Definition: vrfObjectMessageTypeTemplate.h:24
DtAdminContentMessageCallbackMap myAdminMessageCallbacks
Definition: guiThreadNetworkCallbackManager.h:175
std::map< DtSimReportMessageType, ObjectMessageCallbackSignal * > DtSimReportMessageCallbackMap
Definition: guiThreadNetworkCallbackManager.h:82
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
std::map< DtSimTaskMessageType, ObjectMessageCallbackSignal * > DtSimTaskMessageCallbackMap
Definition: guiThreadNetworkCallbackManager.h:83
DtSetMessageCallbackMap mySetMessageCallbacks
Definition: guiThreadNetworkCallbackManager.h:178
DtNetworkCallbackMap myNetworkCallbackMap
Definition: guiThreadNetworkCallbackManager.h:179
File: simMsg.h.
Definition: simMessage.h:35
Definition: tdlGenericNetworkMessage.h:20
The base class for all messages to/from a specific DtVrfObject. Various subclasses of this class will...
Definition: vrfObjectMessage.h:30
This class receives messages from the VR-Forces Simulation Engine (and other DIS/HLA messages) and in...
Definition: guiThreadNetworkCallbackManager.h:77
The class that is the interface between the GUI and the back-end.
Definition: queuedManager.h:27
std::map< DtAdminContentMessageType, ObjectMessageCallbackSignal * > DtAdminContentMessageCallbackMap
Definition: guiThreadNetworkCallbackManager.h:81
boost::signals2::signal< void(const DtVrfObjectMessage *)> ObjectMessageCallbackSignal
Definition: guiThreadNetworkCallbackManager.h:62
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
boost::signals2::signal< void(DtNetworkMessageInterface *)> NetworkInterfaceCallbackSignal
Definition: guiThreadNetworkCallbackManager.h:63
DtSimTaskMessageCallbackMap myTaskMessageCallbacks
Definition: guiThreadNetworkCallbackManager.h:177

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)