VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
externalCommsMessageTransporter.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
9 #include <vlutil/vlMachineTypes.h>
10 #include <vlpi/entityIdentifier.h>
13 
14 class DtEventManager;
16 
17 namespace makVrfEvents
18 {
19  class DtEvent;
20  class DtDataEvent;
21  class DtSignalEvent;
22 }
23 
25 {
26  DtU32 myMessageId;
27  DtEntityIdentifier mySender;
28  DtEntityIdentifier myReceiver;
30  double myDelay;
31 };
32 
34 {
35  DtU32 myMessageId;
36  DtEntityIdentifier mySender;
38 };
39 
41 {
42  DtEntityIdentifier myEntityId;
43  DtU32 myRadioIndex;
44 };
45 
47 {
48  DtU32 messageId;
51  DtU32 radioIndex;
52  DtU32 messageSize;
53  DtEntityIdentifier receiverID;
54  float timeout;
55  double sampleRate;
56 };
57 
59 
63 {
64 private:
66 
71 
72 protected:
76  virtual bool init();
77 
78 public:
82 
84 
85 public:
88  typedef std::pair<DtExternalCommsMessageParams, DtVrfObjectMessageConstPtr> DtExternalCommsMessageCallbackParams;
91 
95 
96  virtual void addProcessMessageCallback(DtProcessMessageCallbackList::DtCallbackFunctionType fcn,
97  void* usr);
98  virtual void removeProcessMessageCallback(DtProcessMessageCallbackList::DtCallbackFunctionType fcn,
99  void* usr);
101 
103  virtual bool processVrfObjectMessageReceived(const DtExternalCommsMessageParams& params,
104  const char *pVrfObjectMessageBuffer);
105 
109 
110  virtual void addReadyToSendCallback(DtReadyToSendCallbackList::DtCallbackFunctionType fcn,
111  void* usr);
112  virtual void removeReadyToSendCallback(DtReadyToSendCallbackList::DtCallbackFunctionType fcn,
113  void* usr);
115 
119 
120  virtual void addTimeoutCallback(DtTimeoutCallbackList::DtCallbackFunctionType fcn,
121  void* usr);
122  virtual void removeTimeoutCallback(DtTimeoutCallbackList::DtCallbackFunctionType fcn,
123  void* usr);
125 
127 
128  virtual void addNewMessageCallback(DtNewMessageCallbackList::DtCallbackFunctionType fcn,
129  void* usr);
130  virtual void removeNewMessageCallback(DtNewMessageCallbackList::DtCallbackFunctionType fcn,
131  void* usr);
133 
136  bool enabled() const;
137  virtual void setEnabled(bool bEnabled);
140 
142  virtual void sendInteraction(const DtExternalCommsMessageParams& params,
143  const DtSignalMessageHeader& msgHdr,
144  const char* pContent);
145 
148  virtual void sendMessage(const DtExternalCommsMessageParams& params, DtVrfObjectMessage* message);
149 
150 protected:
151 
152  virtual DtString entityIdToString(const DtEntityIdentifier& id) const;
153 
154  virtual void dataInteractionCallback(const makVrfEvents::DtEvent&);
155 
158  virtual void processDataInteraction(const makVrfEvents::DtDataEvent* interaction);
159 
160  virtual void processExternalCommsProcessMessage(const makVrfEvents::DtDataEvent* processMessageInteraction);
161 
162  virtual void processExternalCommsTimout(const makVrfEvents::DtDataEvent* timeoutInteraction);
163 
164  virtual void processExternalCommsReadyToSend(const makVrfEvents::DtDataEvent* readyToSendInteraction);
165 
166  virtual void signalInteractionCallback(const makVrfEvents::DtEvent&);
167  virtual void processSignalInteraction(const makVrfEvents::DtSignalEvent* inter);
168 
170  virtual void sendSignalInteraction(const makVrfEvents::DtSignalEvent& signalInteraction);
171 
172 public:
173 
174 protected:
175  bool myEnabled;
181 };
182 
184 {
185  return myEnabled;
186 }
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
DtCallbackList< const DtExternalCommsTimeoutData & > DtTimeoutCallbackList
Definition: externalCommsMessageTransporter.h:87
DtTimeoutCallbackList myTimeoutCallbackList
Definition: externalCommsMessageTransporter.h:180
DtCommunicationManager * myCommunicationManager
Definition: externalCommsMessageTransporter.h:176
DtEntityIdentifier mySender
Definition: externalCommsMessageTransporter.h:27
DtU32 myTransmitterRadioIndex
Definition: externalCommsMessageTransporter.h:37
DtCallbackList< const DtExternalCommsMessageCallbackParams & > DtNewMessageCallbackList
Definition: externalCommsMessageTransporter.h:89
DtCallbackList< const DtExternalCommsReadyToSendData & > DtReadyToSendCallbackList
Definition: externalCommsMessageTransporter.h:90
Definition: signalEvent.h:18
DtEntityIdentifier myReceiver
Definition: externalCommsMessageTransporter.h:28
DtEntityIdentifier mySender
Definition: externalCommsMessageTransporter.h:36
DtEntityIdentifier myEntityId
Definition: externalCommsMessageTransporter.h:42
DtU32 myRadioIndex
Definition: externalCommsMessageTransporter.h:43
bool myEnabled
Definition: externalCommsMessageTransporter.h:175
DtU32 myTransmitterRadioIndex
Definition: externalCommsMessageTransporter.h:29
DtU32 myMessageId
Definition: externalCommsMessageTransporter.h:26
DtU32 myMessageId
Definition: externalCommsMessageTransporter.h:35
DtUUID transmitterDesignator
The designator of the Transmitter.
Definition: externalCommsMessageTransporter.h:50
DtNewMessageCallbackList myNewMessageCallbackList
Definition: externalCommsMessageTransporter.h:178
bool enabled() const
accessor/mutator for enabled state
Definition: externalCommsMessageTransporter.h:183
Definition: externalCommsMessageTransporter.h:40
Definition: event.h:13
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:51
Definition: externalCommsMessageTransporter.h:33
DtProcessMessageCallbackList myProcessMessageCallbackList
Definition: externalCommsMessageTransporter.h:177
double myDelay
Definition: externalCommsMessageTransporter.h:30
double sampleRate
Definition: externalCommsMessageTransporter.h:55
DtU32 messageId
Definition: externalCommsMessageTransporter.h:48
DtCallbackList< const DtExternalCommsProcessMessageData & > DtProcessMessageCallbackList
Definition: externalCommsMessageTransporter.h:86
DtSignalMessageHeader.
Definition: signalMessageHeader.h:47
DtReadyToSendCallbackList myReadyToSendCallbackList
Definition: externalCommsMessageTransporter.h:179
The base class for all messages to/from a specific DtVrfObject. Various subclasses of this class will...
Definition: vrfObjectMessage.h:30
Definition: externalCommsMessageTransporter.h:46
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtU32 radioIndex
Definition: externalCommsMessageTransporter.h:51
DtU32 messageSize
Definition: externalCommsMessageTransporter.h:52
std::pair< DtExternalCommsMessageParams, DtVrfObjectMessageConstPtr > DtExternalCommsMessageCallbackParams
Definition: externalCommsMessageTransporter.h:88
Definition: externalCommsMessageTransporter.h:24
#define DT_DLL_vrfMsgTransport
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfCommunicationManagerDefines.h:26
This class manages encoding and decoding of messages to and from an external comms effects server...
Definition: externalCommsMessageTransporter.h:62
class DtDataEvent
Definition: dataEvent.h:18
float timeout
Definition: externalCommsMessageTransporter.h:54
DtEntityIdentifier receiverID
Definition: externalCommsMessageTransporter.h:53

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)