VR-Forces 4.5 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 
36 
37 #define CONNECT_FOR_SIM_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).simMessageSignal(_type).connect(_function);
38 #define DISCONNECT_FOR_SIM_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).simMessageSignal(_type).disconnect(_function);
39 
40 #define CONNECT_FOR_OBJECT_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).objectMessageSignal(_type).connect(_function);
41 #define DISCONNECT_FOR_OBJECT_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).objectMessageSignal(_type).disconnect(_function);
42 
43 #define CONNECT_FOR_COMMENT_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtCommentInteractionInterface::theName()).connect(_function);
44 #define DISCONNECT_FOR_COMMENT_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtCommentInteractionInterface::theName()).disconnect(_function);
45 
46 #define CONNECT_FOR_INFLUENCE_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtInfluenceInteractionInterface::theName()).connect(_function);
47 #define DISCONNECT_FOR_INFLUENCE_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtInfluenceInteractionInterface::theName()).disconnect(_function);
48 
49 #define CONNECT_FOR_INTERFACE_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(_type).connect(_function);
50 #define DISCONNECT_FOR_INTERFACE_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(_type).disconnect(_function);
51 
52 #define CONNECT_FOR_RADIO_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).radioMessageSignal(_type).connect(_function);
53 #define DISCONNECT_FOR_RADIO_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).radioMessageSignal(_type).disconnect(_function);
54 
55 namespace makVrf
56 {
58 
59  typedef boost::signal<void (DtSimMessage*)> SimMessageSignal;
60  typedef boost::signal<void (const DtVrfObjectMessage*)> ObjectMessageCallbackSignal;
61  typedef boost::signal<void (DtNetworkMessageInterface*)> NetworkInterfaceCallbackSignal;
62 
73  {
74  public:
75  typedef std::map<int, SimMessageSignal*> DtVrfMessageCallbackMap;
76  typedef std::map<DtAdminContentMessageType, ObjectMessageCallbackSignal*> DtAdminContentMessageCallbackMap;
77  typedef std::map<DtSimReportMessageType, ObjectMessageCallbackSignal*> DtSimReportMessageCallbackMap;
78  typedef std::map<DtSimTaskMessageType, ObjectMessageCallbackSignal*> DtSimTaskMessageCallbackMap;
79  typedef std::map<DtSetMessageType, ObjectMessageCallbackSignal*> DtSetMessageCallbackMap;
80  typedef std::map<std::string, NetworkInterfaceCallbackSignal*> DtNetworkCallbackMap;
81 
82  public:
85 
87  static DtGuiThreadNetworkCallbackManager& instance(makVrv::DtDe& de);
88 
89  public:
93 
94  virtual SimMessageSignal& simMessageSignal(int type);
96 
100 
101  virtual ObjectMessageCallbackSignal& objectMessageSignal(const DtAdminContentMessageType& type);
103 
107 
108  virtual ObjectMessageCallbackSignal& radioMessageSignal(const DtSimReportMessageType& type);
109  virtual ObjectMessageCallbackSignal& radioMessageSignal(const DtSimTaskMessageType& type);
110  virtual ObjectMessageCallbackSignal& radioMessageSignal(const DtSetMessageType& type);
112 
115 
116  virtual NetworkInterfaceCallbackSignal& networkInterfaceMessageSignal(std::string messageName);
118 
120  virtual void messageReceived(DtNetworkMessageInterface*);
121 
123  virtual void registerForInfluenceInteraction();
124 
126  virtual void unregisterForInfluenceInteraction();
127 
128  protected:
130  virtual void registerSimMessageCallbackWithDriver(int t);
131 
133  virtual void unregisterSimMessageCallbackWithDriver(int t);
134 
135  virtual void processSimMessageCallback(DtNetworkMessageInterface*);
136 
137  virtual void vrfObjectMessageCallback(DtSimMessage* msg);
138 
140  virtual void processVrfObjectMessageInterfaceCallback(DtNetworkMessageInterface* msg);
141 
143  virtual void processVrfObjectMessageCallback(DtVrfObjectMessage* msg, bool forFrontEndOnly = true);
144 
146  virtual void registerForCommentInteraction();
147 
149  virtual void unregisterForCommentInteraction();
150 
151  protected:
152  virtual void registerAdminMessageCallbackFor(const DtAdminContentMessageType& type);
153  virtual void unregisterAdminMessageCallbackFor(const DtAdminContentMessageType& type);
154 
155  virtual void registerReportMessageCallbackFor(const DtSimReportMessageType& type);
156  virtual void unregisterReportMessageCallbackFor(const DtSimReportMessageType& type);
157 
158  virtual void registerTaskMessageCallbackFor(const DtSimTaskMessageType& type);
159  virtual void unregisterTaskMessageCallbackFor(const DtSimTaskMessageType& type);
160 
161  virtual void registerSetMessageCallbackFor(const DtSetMessageType& type);
162  virtual void unregisterSetMessageCallbackFor(const DtSetMessageType& type);
163 
164  protected:
171  };
172 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)