VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
signalMessageTransporter.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 <vlpi/disEnums.h>
10 #include <vl/globalObjectDesignator.h>
13 #include <vl/signalInteraction.h>
16 #include <vlutil/vlTime.h>
17 
18 class DtEventManager;
19 class DtSplitMessageKey;
21 class DtEvent;
22 
25 const DtUserProtocol DtVrForcesSignalUserProtocol = (DtUserProtocol) 11050;
26 
30 {
34  double sampleRate;
35 };
36 
38 typedef std::pair<DtSignalMessageParams*, DtVrfObjectMessageConstPtr> DtSignalMessageTransporterCallbackParams;
39 
44 {
45 public:
46 
47  typedef struct _tSplitContentEntry{unsigned nSize; char* pBuffer;} SplitContentEntry;
48 
49  typedef std::map<DtSplitMessageKey, std::map<unsigned, SplitContentEntry> > SplitContentMap;
50 
51 private:
53 
58 
59 protected:
63  virtual bool init();
64 
65 public:
68  static DtSignalMessageTransporter* create(DtEventManager* exConn);
69 
70  virtual ~DtSignalMessageTransporter();
71 
73  virtual void clearSplitContent();
74 
77  bool enabled() const;
78  virtual void setEnabled(bool bEnabled);
81  virtual bool processSplitContent(const DtSignalMessageParams& params,
82  const DtSignalMessageHeader& msgHdr,
83  const char *pContent);
84 
86  virtual void processSplitContentTimeout(const DtSplitMessageKey& key);
87 
89  virtual bool processVrfObjectMessageReceived(const DtSignalMessageParams& params,
90  const char *pVrfObjectMessageBuffer);
91 
93  virtual bool reassembleVrfObjectMessage(const DtSignalMessageParams& params,
94  const DtSignalMessageHeader& msgHdr);
95 
97  virtual void removeSplitContent(const DtSplitMessageKey& key);
98 
100  virtual void sendInteraction(const DtSignalMessageParams& params,
101  const DtSignalMessageHeader& msgHdr,
102  const char* pContent);
103 
106  virtual void sendMessage(const DtSignalMessageParams& params,
107  const DtVrfObjectMessage* message);
108 
110 
116 
117  virtual void addMessageReceivedCallback(DtMessageReceivedCallbackList::DtCallbackFunctionType fcn,
118  void* usr);
119  virtual void removeMessageReceivedCallback(DtMessageReceivedCallbackList::DtCallbackFunctionType fcn,
120  void* usr);
122 
123  static void splitContentTimeoutCbk(const DtSplitMessageKey& key, void *pUsr);
124 
125 protected:
126  virtual void signalInteractionCallback(const DtEvent&);
127  virtual void processSignalInteraction(DtSignalInteraction* inter);
128 
130  virtual void sendSignalInteraction(DtSignalInteraction& signalInteraction);
131 
132 protected:
133  bool myEnabled;
138 
140 };
141 
143 {
144  return myEnabled;
145 }
double sampleRate
Definition: signalMessageTransporter.h:34
SplitContentMap mySplitContentMap
Definition: signalMessageTransporter.h:136
std::pair< DtSignalMessageParams *, DtVrfObjectMessageConstPtr > DtSignalMessageTransporterCallbackParams
The parameters passed by the message received callbacks from DtSignalMessageTransporter.
Definition: signalMessageTransporter.h:38
Parameters used with sending/receiving messages though the DtSignalMessageTrasnporter.
Definition: signalMessageTransporter.h:29
DtString commModelName
Definition: signalMessageTransporter.h:31
char * pBuffer
Definition: signalMessageTransporter.h:47
This class encapsulates the sending and receiving of DtVrfObjectMessages though signal interactions...
Definition: signalMessageTransporter.h:43
Class: DtSplitContentTimer.
Definition: events.h:47
Class: DtSplitMessageKey.
Definition: splitMessageKey.h:23
DtClock myClock
Definition: signalMessageTransporter.h:139
Definition: eventManager.h:23
bool enabled() const
accessor/mutator for enabled state
Definition: signalMessageTransporter.h:142
DtGlobalObjectDesignator senderDesignator
Definition: signalMessageTransporter.h:32
DtCallbackList< DtSignalMessageTransporterCallbackParams * > DtMessageReceivedCallbackList
Definition: signalMessageTransporter.h:109
This class helps DtVrfMessageInterface handle big messages.
Definition: splitContentTimer.h:33
DtEventManager * myEventManager
Definition: signalMessageTransporter.h:134
DtSignalMessageHeader.
Definition: signalMessageHeader.h:47
The base class for all messages to/from a specific DtVrfObject.
Definition: vrfObjectMessage.h:30
int radioIndex
Definition: signalMessageTransporter.h:33
DtSplitContentTimer mySplitContentTimer
Definition: signalMessageTransporter.h:137
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
#define DT_DLL_vrfMsgTransport
This file is used to determine how to build.
Definition: vrfMsgTransportDefines.h:28
Definition: signalMessageTransporter.h:47
std::map< DtSplitMessageKey, std::map< unsigned, SplitContentEntry > > SplitContentMap
Definition: signalMessageTransporter.h:49
DtMessageReceivedCallbackList myMessageReceivedCallbacks
Definition: signalMessageTransporter.h:135
bool myEnabled
Definition: signalMessageTransporter.h:133
const DtUserProtocol DtVrForcesSignalUserProtocol
The User Protocol value used when sending VRF Object Messages though signal interactions by the DtSig...
Definition: signalMessageTransporter.h:25

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)