VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfTDLMessageInterface.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 
11 #include <vlutil/vlMachineTypes.h>
12 
13 #include <vlutil/vlUtil.h>
14 #include <vl/dataInteraction.h>
15 #include <vl/interClassDesc.h>
16 #include <vl/rtiCompatibility.h>
17 
18 class DtVrfTDLMessage;
20 
21 typedef void (*DtVrfTDLMessageCallbackFcn)(DtVrfTDLMessage*, void* usr);
22 
26 {
27 public:
29  bool useDefaultInterfaceFactory = true);
30 
32  virtual ~DtVrfTDLMessageInterface();
33 
35  virtual bool init();
36 
38  virtual bool createAndDeliverMessage(
39  const DtSimulationAddress& recipient,
40  const DtVrfTDLMessage & content,
41  bool overrideTimestampOrder = true);
42 
45  virtual const DtSimulationAddress& messageAddress() const;
46 
48  virtual bool sendMessage(DtVrfTDLMessage& message);
49 
51  DtEventManager* eventManager() const;
52 
54  virtual void clearEventManager();
55 
57  virtual void setSequence(DtU32 num);
58  virtual DtU32 sequence() const;
59 
61  virtual void addVrfTDLMessageCallback(DtVrfTDLMessageCallbackFcn fcn, void* usr);
62  virtual void removeVrfTDLMessageCallback(DtVrfTDLMessageCallbackFcn fcn, void* usr);
63 
64  virtual void setEventManager(DtEventManager*);
65 
68  virtual bool receiveMessage(DtVrfTDLMessage* content);
69 
71  virtual DtVrfTDLMessageFactory* factory() const;
72  virtual void setFactory(DtVrfTDLMessageFactory* fact);
73 
74 protected:
75  virtual void removeConnections();
76  virtual void initializeConnections();
77 
78  virtual bool setContentForNet(
79  DtDataInteraction* dataInter, DtVrfTDLMessage& content) const;
80 
81  virtual void netMessageCallback(const DtEvent&);
82 
84  virtual void receiveMessage(DtDataInteraction* dataInter);
85 
86  virtual bool matchPattern(const DtSimulationAddress& address,
87  const DtSimulationAddress& pattern) const;
88 
90  virtual bool getContentFromNet(DtDataInteraction* dataInter,
91  DtVrfTDLMessage*& content) const;
92 
93  virtual bool getContentFromNet(unsigned nBufferSize,
94  const char* pContentBuffer,
95  DtVrfTDLMessage*& content) const;
96 
98  virtual void invokeCallbacks(DtVrfTDLMessage*);
99 
100 private:
101 
103 
104  DtVrfTDLMessageInterface& operator=(
105  const DtVrfTDLMessageInterface& orig);
106 
108 
109 protected:
115 
116  typedef std::vector<std::pair<DtVrfTDLMessageCallbackFcn, void*> > CallbackData;
118 
120 
121 #ifdef DtHLA
122  std::set<int> myContentTypesToSendReliable;
124 #endif
125 
128 };
129 
131 {
132  return mySequenceNumber;
133 }
134 
136 {
137  if (myOwnsEventManager)
138  {
139  delete myEventManager;
140  }
141 
142  myEventManager = 0;
143 }
144 
146 {
147  return myEventManager;
148 }
virtual DtU32 sequence() const
Definition: vrfTDLMessageInterface.h:130
The DtVrfTDLMessageInterface is a transporter for sending TDL messages as data interactions using a V...
Definition: vrfTDLMessageInterface.h:25
bool myOwnsEventManager
Definition: vrfTDLMessageInterface.h:127
bool myUseReliableTransport
Definition: vrfTDLMessageInterface.h:112
CallbackData myCallbacks
Definition: vrfTDLMessageInterface.h:117
Definition: events.h:49
DtEventManager * myEventManager
Definition: vrfTDLMessageInterface.h:126
Definition: eventManager.h:23
std::vector< std::pair< DtVrfTDLMessageCallbackFcn, void * > > CallbackData
Definition: vrfTDLMessageInterface.h:116
bool myCreatedInterfaceFactory
Definition: vrfTDLMessageInterface.h:114
Definition: vrfTDLMessage.h:52
DtU32 mySequenceNumber
Definition: vrfTDLMessageInterface.h:110
void(* DtVrfTDLMessageCallbackFcn)(DtVrfTDLMessage *, void *usr)
Definition: vrfTDLMessageInterface.h:21
DtEventManager * eventManager() const
Return the event manager.
Definition: vrfTDLMessageInterface.h:145
DtVrfTDLMessageFactory * myFactory
Definition: vrfTDLMessageInterface.h:113
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
DtVrfTDLMessageFactory is a map of creators by type for VRF TDL Messages.
Definition: vrfTDLMessageFactory.h:17
virtual void clearEventManager()
Sets the event manager to NULL.
Definition: vrfTDLMessageInterface.h:135
DtVrfTDLMessage * myVrfTDLMessageTranslator
Definition: vrfTDLMessageInterface.h:119
bool myAllowReliableDataInteractions
Definition: vrfTDLMessageInterface.h:111

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)