VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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>
20 
21 #include <vrvUtil/signalslib.h>
22 #include <vrvCore/DtDe.h>
23 
24 #include <vrfplan/plan.h>
25 
26 class DtSimMessage;
27 
29 
30 #define CONNECT_FOR_SIM_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).simMessageSignal(_type).connect(_function);
31 #define DISCONNECT_FOR_SIM_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).simMessageSignal(_type).disconnect(_function);
32 
33 #define CONNECT_FOR_OBJECT_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).objectMessageSignal(_type).connect(_function);
34 #define DISCONNECT_FOR_OBJECT_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).objectMessageSignal(_type).disconnect(_function);
35 
36 #define CONNECT_FOR_COMMENT_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtCommentInteractionInterface::theName()).connect(_function);
37 #define DISCONNECT_FOR_COMMENT_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtCommentInteractionInterface::theName()).disconnect(_function);
38 
39 #define CONNECT_FOR_INFLUENCE_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtInfluenceInteractionInterface::theName()).connect(_function);
40 #define DISCONNECT_FOR_INFLUENCE_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtInfluenceInteractionInterface::theName()).disconnect(_function);
41 
42 #define CONNECT_FOR_INTERFACE_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(_type).connect(_function);
43 #define DISCONNECT_FOR_INTERFACE_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(_type).disconnect(_function);
44 
45 #define CONNECT_FOR_RADIO_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).radioMessageSignal(_type).connect(_function);
46 #define DISCONNECT_FOR_RADIO_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).radioMessageSignal(_type).disconnect(_function);
47 
48 namespace makVrf
49 {
51 
52  typedef boost::signal<void (DtSimMessage*)> SimMessageSignal;
53  typedef boost::signal<void (const DtVrfObjectMessage*)> ObjectMessageCallbackSignal;
54  typedef boost::signal<void (DtNetworkMessageInterface*)> NetworkInterfaceCallbackSignal;
55 
66  {
67  public:
68  typedef std::map<int, SimMessageSignal*> DtVrfMessageCallbackMap;
69  typedef std::map<DtAdminContentMessageType, ObjectMessageCallbackSignal*> DtAdminContentMessageCallbackMap;
70  typedef std::map<DtSimReportMessageType, ObjectMessageCallbackSignal*> DtSimReportMessageCallbackMap;
71  typedef std::map<DtSimTaskMessageType, ObjectMessageCallbackSignal*> DtSimTaskMessageCallbackMap;
72  typedef std::map<DtSetMessageType, ObjectMessageCallbackSignal*> DtSetMessageCallbackMap;
73  typedef std::map<std::string, NetworkInterfaceCallbackSignal*> DtNetworkCallbackMap;
74 
75  public:
78 
80  static DtGuiThreadNetworkCallbackManager& instance(makVrv::DtDe& de);
81 
82  public:
86 
87  virtual SimMessageSignal& simMessageSignal(int type);
89 
93 
94  virtual ObjectMessageCallbackSignal& objectMessageSignal(const DtAdminContentMessageType& type);
96 
100 
101  virtual ObjectMessageCallbackSignal& radioMessageSignal(const DtSimReportMessageType& type);
102  virtual ObjectMessageCallbackSignal& radioMessageSignal(const DtSimTaskMessageType& type);
103  virtual ObjectMessageCallbackSignal& radioMessageSignal(const DtSetMessageType& type);
105 
108 
109  virtual NetworkInterfaceCallbackSignal& networkInterfaceMessageSignal(std::string messageName);
111 
113  virtual void messageReceived(DtNetworkMessageInterface*);
114 
116  virtual void registerForInfluenceInteraction();
117 
119  virtual void unregisterForInfluenceInteraction();
120 
121  protected:
123  virtual void registerSimMessageCallbackWithDriver(int t);
124 
126  virtual void unregisterSimMessageCallbackWithDriver(int t);
127 
128  virtual void processSimMessageCallback(DtNetworkMessageInterface*);
129 
130  virtual void vrfObjectMessageCallback(DtSimMessage* msg);
131 
133  virtual void processVrfObjectMessageInterfaceCallback(DtNetworkMessageInterface* msg);
134 
136  virtual void processVrfObjectMessageCallback(DtVrfObjectMessage* msg, bool forFrontEndOnly = true);
137 
139  virtual void registerForCommentInteraction();
140 
142  virtual void unregisterForCommentInteraction();
143 
144  protected:
145  virtual void registerAdminMessageCallbackFor(const DtAdminContentMessageType& type);
146  virtual void unregisterAdminMessageCallbackFor(const DtAdminContentMessageType& type);
147 
148  virtual void registerReportMessageCallbackFor(const DtSimReportMessageType& type);
149  virtual void unregisterReportMessageCallbackFor(const DtSimReportMessageType& type);
150 
151  virtual void registerTaskMessageCallbackFor(const DtSimTaskMessageType& type);
152  virtual void unregisterTaskMessageCallbackFor(const DtSimTaskMessageType& type);
153 
154  virtual void registerSetMessageCallbackFor(const DtSetMessageType& type);
155  virtual void unregisterSetMessageCallbackFor(const DtSetMessageType& type);
156 
157  protected:
164  };
165 }

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)