VR-Forces 4.1 Class Documentation
DtGuiThreadNetworkCallbackManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
12 
13 #pragma once
14 
15 #include <vrfGuiCore/vrfGuiCore.h>
19 
20 #include <vrvUtil/signalslib.h>
21 #include <vrvCore/DtDe.h>
22 
23 #include <vrfplan/plan.h>
24 
25 class DtSimMessage;
26 
28 
29 #define CONNECT_FOR_SIM_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).simMessageSignal(_type).connect(_function);
30 #define DISCONNECT_FOR_SIM_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).simMessageSignal(_type).disconnect(_function);
31 
32 #define CONNECT_FOR_OBJECT_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).objectMessageSignal(_type).connect(_function);
33 #define DISCONNECT_FOR_OBJECT_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).objectMessageSignal(_type).disconnect(_function);
34 
35 #define CONNECT_FOR_COMMENT_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtCommentInteractionInterface::theName()).connect(_function);
36 #define DISCONNECT_FOR_COMMENT_INTERACTION(_function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(DtCommentInteractionInterface::theName()).disconnect(_function);
37 
38 #define CONNECT_FOR_INTERFACE_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(_type).connect(_function);
39 #define DISCONNECT_FOR_INTERFACE_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).networkInterfaceMessageSignal(_type).disconnect(_function);
40 
41 #define CONNECT_FOR_RADIO_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).radioMessageSignal(_type).connect(_function);
42 #define DISCONNECT_FOR_RADIO_MESSAGE(_type, _function) makVrf::DtGuiThreadNetworkCallbackManager::instance(myDe).radioMessageSignal(_type).disconnect(_function);
43 
44 namespace makVrf
45 {
47 
48  typedef boost::signal<void (DtSimMessage*)> SimMessageSignal;
49  typedef boost::signal<void (const DtVrfObjectMessage*)> ObjectMessageCallbackSignal;
50  typedef boost::signal<void (DtNetworkMessageInterface*)> NetworkInterfaceCallbackSignal;
51 
59  {
60  public:
61  typedef std::map<int, SimMessageSignal*> DtVrfMessageCallbackMap;
62  typedef std::map<DtAdminContentMessageType, ObjectMessageCallbackSignal*> DtAdminContentMessageCallbackMap;
63  typedef std::map<DtSimReportMessageType, ObjectMessageCallbackSignal*> DtSimReportMessageCallbackMap;
64  typedef std::map<DtSimTaskMessageType, ObjectMessageCallbackSignal*> DtSimTaskMessageCallbackMap;
65  typedef std::map<DtSetMessageType, ObjectMessageCallbackSignal*> DtSetMessageCallbackMap;
66  typedef std::map<std::string, NetworkInterfaceCallbackSignal*> DtNetworkCallbackMap;
67 
68  public:
71 
73  static DtGuiThreadNetworkCallbackManager& instance(makVrv::DtDe& de);
74 
75  public:
79 
80  virtual SimMessageSignal& simMessageSignal(int type);
82 
86 
87  virtual ObjectMessageCallbackSignal& objectMessageSignal(const DtAdminContentMessageType& type);
89 
93 
94  virtual ObjectMessageCallbackSignal& radioMessageSignal(const DtSimReportMessageType& type);
95  virtual ObjectMessageCallbackSignal& radioMessageSignal(const DtSimTaskMessageType& type);
96  virtual ObjectMessageCallbackSignal& radioMessageSignal(const DtSetMessageType& type);
98 
101 
102  virtual NetworkInterfaceCallbackSignal& networkInterfaceMessageSignal(std::string messageName);
104 
106  virtual void messageReceived(DtNetworkMessageInterface*);
107 
108  protected:
110  virtual void registerSimMessageCallbackWithDriver(int t);
111 
113  virtual void unregisterSimMessageCallbackWithDriver(int t);
114 
115  virtual void processSimMessageCallback(DtNetworkMessageInterface*);
116 
117  virtual void vrfObjectMessageCallback(DtSimMessage* msg);
118 
120  virtual void processVrfObjectMessageInterfaceCallback(DtNetworkMessageInterface* msg);
121 
123  virtual void processVrfObjectMessageCallback(DtVrfObjectMessage* msg, bool forFrontEndOnly = true);
124 
126  virtual void registerForCommentInteraction();
127 
129  virtual void unregisterForCommentInteraction();
130 
131  protected:
132  virtual void registerAdminMessageCallbackFor(const DtAdminContentMessageType& type);
133  virtual void unregisterAdminMessageCallbackFor(const DtAdminContentMessageType& type);
134 
135  virtual void registerReportMessageCallbackFor(const DtSimReportMessageType& type);
136  virtual void unregisterReportMessageCallbackFor(const DtSimReportMessageType& type);
137 
138  virtual void registerTaskMessageCallbackFor(const DtSimTaskMessageType& type);
139  virtual void unregisterTaskMessageCallbackFor(const DtSimTaskMessageType& type);
140 
141  virtual void registerSetMessageCallbackFor(const DtSetMessageType& type);
142  virtual void unregisterSetMessageCallbackFor(const DtSetMessageType& type);
143 
144  protected:
151  };
152 }

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)