VR-Forces 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 class DtSimMessage;
23 
33 
34 #define CONNECT_FOR_SIM_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).simMessageSignal(_type).connect(_function);
35 #define DISCONNECT_FOR_SIM_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).simMessageSignal(_type).disconnect(_function);
36 
37 #define CONNECT_FOR_OBJECT_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).objectMessageSignal(_type).connect(_function);
38 #define DISCONNECT_FOR_OBJECT_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).objectMessageSignal(_type).disconnect(_function);
39 
40 #define CONNECT_FOR_COMMENT_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtCommentInteractionInterface::theName()).connect(_function);
41 #define DISCONNECT_FOR_COMMENT_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtCommentInteractionInterface::theName()).disconnect(_function);
42 
43 #define CONNECT_FOR_INFLUENCE_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtInfluenceInteractionInterface::theName()).connect(_function);
44 #define DISCONNECT_FOR_INFLUENCE_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtInfluenceInteractionInterface::theName()).disconnect(_function);
45 
46 #define CONNECT_FOR_EVENT(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).eventManagerEventSignal(_type).connect(_function);
47 #define DISCONNECT_FOR_EVENT(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).eventManagerEventSignal(_type).disconnect(_function);
48 
49 #define CONNECT_FOR_RADIO_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).radioMessageSignal(_type).connect(_function);
50 #define DISCONNECT_FOR_RADIO_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).radioMessageSignal(_type).disconnect(_function);
51 
53 namespace makVrv
54 {
55  class DtDe;
56 }
57 
58 namespace makVrf
59 {
60  class DtNetworkMessageInterface;
62 
63  typedef boost::signals2::signal<void (DtSimMessage*)> SimMessageSignal;
64  typedef boost::signals2::signal<void (DtEventManagerEventInterface*)> EventManagerEventSignal;
65  typedef boost::signals2::signal<void (const DtVrfObjectMessage*)> ObjectMessageCallbackSignal;
66  typedef boost::signals2::signal<void (DtNetworkMessageInterface*)> NetworkInterfaceCallbackSignal;
67 
81  {
82  public:
83  typedef std::map<int, SimMessageSignal*> DtVrfMessageCallbackMap;
84  typedef std::map<int, EventManagerEventSignal*> DtEventManagerCallbackMap;
85  typedef std::map<DtAdminContentMessageType, ObjectMessageCallbackSignal*> DtAdminContentMessageCallbackMap;
86  typedef std::map<DtSimReportMessageType, ObjectMessageCallbackSignal*> DtSimReportMessageCallbackMap;
87  typedef std::map<DtSimTaskMessageType, ObjectMessageCallbackSignal*> DtSimTaskMessageCallbackMap;
88  typedef std::map<DtSetMessageType, ObjectMessageCallbackSignal*> DtSetMessageCallbackMap;
89  typedef std::map<std::string, NetworkInterfaceCallbackSignal*> DtNetworkCallbackMap;
90 
91  public:
93  virtual ~DtGuiThreadNetworkCallbackManager() override;
94 
96  static DtGuiThreadNetworkCallbackManager& instance(makVrv::DtDe& de);
97 
98  public:
102 
103  virtual SimMessageSignal& simMessageSignal(int type);
105 
109 
110  virtual EventManagerEventSignal& eventManagerEventSignal(int type);
112 
116 
117  virtual ObjectMessageCallbackSignal& objectMessageSignal(const DtAdminContentMessageType& type);
119 
123 
124  virtual ObjectMessageCallbackSignal& radioMessageSignal(const DtSimReportMessageType& type);
125  virtual ObjectMessageCallbackSignal& radioMessageSignal(const DtSimTaskMessageType& type);
126  virtual ObjectMessageCallbackSignal& radioMessageSignal(const DtSetMessageType& type);
128 
131 
132  virtual NetworkInterfaceCallbackSignal& networkInterfaceMessageSignal(std::string messageName);
134 
136  virtual void messageReceived(DtNetworkMessageInterface*);
137 
139  virtual void registerForInfluenceInteraction();
140 
142  virtual void unregisterForInfluenceInteraction();
143 
145  virtual void tdlMessageReceived(const DtTDLGenericNetworkMessage&);
146  boost::signals2::signal<void (const DtTDLGenericNetworkMessage&)> signal_tdlMessageReceived;
147 
148  virtual void setActivated(bool b) override;
149 
150  virtual void registerEventManagerEventCallbackFor(int type);
151  virtual void unregisterEventManagerEventCallbackFor(int type);
152 
153  protected:
155  virtual void registerSimMessageCallbackWithDriver(int t);
156 
158  virtual void unregisterSimMessageCallbackWithDriver(int t);
159 
160  virtual void processSimMessageCallback(DtNetworkMessageInterface*);
161 
162  virtual void vrfObjectMessageCallback(DtSimMessage* msg);
163 
164  virtual void processEventManagerInterfaceCallback(DtNetworkMessageInterface* msg);
165 
167  virtual void processVrfObjectMessageInterfaceCallback(DtNetworkMessageInterface* msg);
168 
170  virtual void processVrfObjectMessageCallback(DtVrfObjectMessage* msg, bool forFrontEndOnly = true);
171 
173  virtual void registerForCommentInteraction();
174 
176  virtual void unregisterForCommentInteraction();
177 
178  protected:
179  virtual void registerAdminMessageCallbackFor(const DtAdminContentMessageType& type);
180  virtual void unregisterAdminMessageCallbackFor(const DtAdminContentMessageType& type);
181 
182  virtual void registerReportMessageCallbackFor(const DtSimReportMessageType& type);
183  virtual void unregisterReportMessageCallbackFor(const DtSimReportMessageType& type);
184 
185  virtual void registerTaskMessageCallbackFor(const DtSimTaskMessageType& type);
186  virtual void unregisterTaskMessageCallbackFor(const DtSimTaskMessageType& type);
187 
188  virtual void registerSetMessageCallbackFor(const DtSetMessageType& type);
189  virtual void unregisterSetMessageCallbackFor(const DtSetMessageType& type);
190 
191  protected:
199  };
200 }
std::map< int, SimMessageSignal * > DtVrfMessageCallbackMap
Definition: guiThreadNetworkCallbackManager.h:83
DtSimReportMessageCallbackMap myReportMessageCallbacks
Definition: guiThreadNetworkCallbackManager.h:195
Definition: networkMessageInterface.h:22
std::map< std::string, NetworkInterfaceCallbackSignal * > DtNetworkCallbackMap
Definition: guiThreadNetworkCallbackManager.h:89
std::map< DtSetMessageType, ObjectMessageCallbackSignal * > DtSetMessageCallbackMap
Definition: guiThreadNetworkCallbackManager.h:88
boost::signals2::signal< void(DtSimMessage *)> SimMessageSignal
Definition: guiThreadNetworkCallbackManager.h:61
boost::signals2::signal< void(const DtTDLGenericNetworkMessage &)> signal_tdlMessageReceived
Definition: guiThreadNetworkCallbackManager.h:146
DtVrfMessageCallbackMap myCallbacks
Definition: guiThreadNetworkCallbackManager.h:192
Definition: vrfObjectMessageTypeTemplate.h:24
DtAdminContentMessageCallbackMap myAdminMessageCallbacks
Definition: guiThreadNetworkCallbackManager.h:194
std::map< DtSimReportMessageType, ObjectMessageCallbackSignal * > DtSimReportMessageCallbackMap
Definition: guiThreadNetworkCallbackManager.h:86
Definition: eventManagerEventInterface.h:16
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
std::map< DtSimTaskMessageType, ObjectMessageCallbackSignal * > DtSimTaskMessageCallbackMap
Definition: guiThreadNetworkCallbackManager.h:87
DtSetMessageCallbackMap mySetMessageCallbacks
Definition: guiThreadNetworkCallbackManager.h:197
DtNetworkCallbackMap myNetworkCallbackMap
Definition: guiThreadNetworkCallbackManager.h:198
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
std::map< int, EventManagerEventSignal * > DtEventManagerCallbackMap
Definition: guiThreadNetworkCallbackManager.h:84
This class receives messages from the VR-Forces Simulation Engine (and other DIS/HLA messages) and in...
Definition: guiThreadNetworkCallbackManager.h:80
boost::signals2::signal< void(DtEventManagerEventInterface *)> EventManagerEventSignal
Definition: guiThreadNetworkCallbackManager.h:64
DtEventManagerCallbackMap myEventManagerCallbacks
Definition: guiThreadNetworkCallbackManager.h:193
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:85
boost::signals2::signal< void(const DtVrfObjectMessage *)> ObjectMessageCallbackSignal
Definition: guiThreadNetworkCallbackManager.h:65
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:76
boost::signals2::signal< void(DtNetworkMessageInterface *)> NetworkInterfaceCallbackSignal
Definition: guiThreadNetworkCallbackManager.h:66
DtSimTaskMessageCallbackMap myTaskMessageCallbacks
Definition: guiThreadNetworkCallbackManager.h:196

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)