VR-Forces 4.6.1 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 ** $RCSfile: signalMessageTransporter.h,v $ $Revision: 1.3 $ $State: Exp $
7 *******************************************************************************/
8 
11 
13 
14 #ifndef signalMessageTransporter_h
15 #define signalMessageTransporter_h
16 
18 #include <vlpi/disEnums.h>
19 #include <vl/globalObjectDesignator.h>
22 #include <vl/signalInteraction.h>
25 
26 class DtExerciseConn;
27 class DtSplitMessageKey;
29 
32 const DtUserProtocol DtVrForcesSignalUserProtocol = (DtUserProtocol) 11050;
33 
37 {
41  double sampleRate;
42 };
43 
45 typedef std::pair<DtSignalMessageParams*, DtVrfObjectMessageConstPtr> DtSignalMessageTransporterCallbackParams;
46 
51 {
52 public:
53 
54  typedef struct _tSplitContentEntry{unsigned nSize; char* pBuffer;} SplitContentEntry;
55 
56  typedef std::map<DtSplitMessageKey, std::map<unsigned, SplitContentEntry> > SplitContentMap;
57 
58 private:
60 
65 
66 protected:
68  DtSignalMessageTransporter(DtExerciseConn* exConn);
70  virtual bool init();
71 
72 public:
75  static DtSignalMessageTransporter* create(DtExerciseConn* exConn);
76 
77  virtual ~DtSignalMessageTransporter();
78 
80  virtual void clearSplitContent();
81 
84  bool enabled() const;
85  virtual void setEnabled(bool bEnabled);
88  virtual bool processSplitContent(const DtSignalMessageParams& params,
89  const DtSignalMessageHeader& msgHdr,
90  const char *pContent);
91 
93  virtual void processSplitContentTimeout(const DtSplitMessageKey& key);
94 
96  virtual bool processVrfObjectMessageReceived(const DtSignalMessageParams& params,
97  const char *pVrfObjectMessageBuffer);
98 
100  virtual bool reassembleVrfObjectMessage(const DtSignalMessageParams& params,
101  const DtSignalMessageHeader& msgHdr);
102 
104  virtual void removeSplitContent(const DtSplitMessageKey& key);
105 
107  virtual void sendInteraction(const DtSignalMessageParams& params,
108  const DtSignalMessageHeader& msgHdr,
109  const char* pContent);
110 
113  virtual void sendMessage(const DtSignalMessageParams& params,
114  const DtVrfObjectMessage* message);
115 
117 
123 
124  virtual void addMessageReceivedCallback(DtMessageReceivedCallbackList::DtCallbackFunctionType fcn,
125  void* usr);
126  virtual void removeMessageReceivedCallback(DtMessageReceivedCallbackList::DtCallbackFunctionType fcn,
127  void* usr);
129 
130  static void splitContentTimeoutCbk(const DtSplitMessageKey& key, void *pUsr);
131 
132 protected:
133  static void signalInteractionCallback(DtSignalInteraction* inter, void* usr);
134  virtual void processSignalInteraction(DtSignalInteraction* inter);
135 
137  virtual void sendSignalInteraction(DtSignalInteraction& signalInteraction);
138 
139 protected:
140  bool myEnabled;
141  DtExerciseConn* myExConn;
145 };
146 
148 {
149  return myEnabled;
150 }
151 #endif

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)