VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
signalInteractionHLA.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #ifndef signalInteractionHLA_H_
7 #define signalInteractionHLA_H_
8 
9 #if DtHLA
10 
11 
12 #include <vlutil/vlMachineTypes.h>
13 #include "interactionWithEncDec.h"
14 #include "hostStructs.h"
15 
19 
21 class DtExerciseConn;
22 
23 #ifndef DT_ENUM_LONG_WORD_PORTION
24 #define DT_ENUM_LONG_WORD_PORTION
26 {
29 };
30 #endif
31 
32 
33 
35 typedef void (*DtSignalInteractionCb)
36  (DtSignalInteraction* inter, void* usr);
37 
42 class DT_DLL_VL DtSignalInteraction : public DtInteractionWithEncDec
43 {
44 public:
47 
49  virtual ~DtSignalInteraction();
50 
53 
55  DtSignalInteraction& operator=(const DtSignalInteraction& orig);
56 
58  virtual void printData() const;
59 
61  virtual void printDataToStream(std::ostream& stream) const;
62 
64  virtual void setRadioId(const DtGlobalObjectDesignator& id);
69  virtual const DtGlobalObjectDesignator& radioId() const;
71 
73  virtual void setSampleRate(DtU32 rate);
75  virtual DtU32 sampleRate() const;
77 
79  virtual void setNumSamples(DtU32 count);
80  virtual DtU32 numSamples() const;
81 
83  virtual void setNumDataBytes(DtU16 len);
85  virtual DtU16 numDataBytes() const;
87 
89  virtual void setNumDataBits(DtU16 len);
91  virtual DtU16 numDataBits() const;
93 
95  virtual void setData(const void* data, int numBytes);
97  virtual const void* data() const;
99 
101  virtual DtU8 dataByte(int byteNum) const;
103  virtual void setDataByte(int byteNum, DtU8 data);
105 
107  virtual void setTdlType(DtTacticalDataLinkType link);
108  virtual DtTacticalDataLinkType tdlType() const;
109 
111  virtual void setEncodingType(DtEncodingType encoding);
113  virtual DtEncodingType encodingType() const;
115 
117  virtual DtEncodingClass encodingClass() const;
120  virtual void setEncodingClass(DtEncodingClass encodingClass);
122 
124  virtual void setTdlMessageCount(DtU16 count);
128  virtual DtU16 tdlMessageCount() const;
130 
132  virtual void setProtocolId(DtUserProtocol id);
138  virtual DtUserProtocol protocolId() const;
140 
142  virtual void setDatabaseIndex(DtU32 index);
147  virtual DtU32 databaseIndex() const;
149 
151  virtual void setDuration(DtU32 duration);
156  virtual DtU32 duration() const;
158 
160  virtual void setStartOffset(DtU32 offset);
166  virtual DtU32 startOffset() const;
168 
170  virtual void setStreamTag(unsigned long upper, unsigned long lower);
174  virtual void setStreamTag(unsigned long st);
176 
180  virtual unsigned long streamTag(
181  DtLongWordPortion upperLower = DtLowerWord) const;
182 
184  virtual const char* name() const;
185 
186 public:
187 
190  static DtInteraction* create();
191 
194  static void addCallback(DtExerciseConn* conn,
195  DtSignalInteractionCb cb, void* usr,
196  DtDDMRegionSP region = DtDDMRegionSP());
197  static void removeCallback(DtExerciseConn* conn,
198  DtSignalInteractionCb cb, void* usr,
199  DtDDMRegionSP region = DtDDMRegionSP());
200 
201 protected:
202 
203  DtGlobalObjectDesignator myHostRadioId;
204  DtU16 mySignalDataLength;
205  DtU8* mySignalData;
206  DtTacticalDataLinkType myTacticalDataLink;
207  DtU16 myTDLMessageCount;
208  DtUserProtocol myUserProtocolId;
209  DtU32 myDatabaseIndex;
210  DtU32 myDuration;
211  DtU32 myStartOffset;
212  DtEncodingType myEncodingType;
213  DtEncodingClass myEncodingClass;
214  DtU32 mySampleRate;
215  DtU32 mySampleCount;
216 
218  DtU32 myStreamTagHi;
219  DtU32 myStreamTagLo;
220 };
221 
222 #endif //DtHLA
223 
224 #endif //DtSignalInteraction_H_
225 
DtInteraction is an base class for representing DIS PDUs which don&#39;t have state.
Definition: interactionDIS.h:24
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
Definition: radioTransmitterRepository.h:21
DtSignalPdu DtSignalInteraction
Definition: signalPdu.h:19
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtLongWordPortion
Definition: radioTransmitterRepository.h:19
Definition: radioTransmitterRepository.h:22
DtUserProtocol
Definition: disEnums.h:965
DtEncodingType
Definition: disEnums.h:985
unsigned char DtU8
An eight bit unsigned integer value.
Definition: vlMachineTypes.h:137
DtTacticalDataLinkType
Definition: disEnums.h:958
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
Instances of DtSignalPdu are used to send simulated signal data.
Definition: signalPdu.h:28
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
DtEncodingClass
Definition: disEnums.h:937
unsigned short DtU16
A 16 bit unsigned integer value.
Definition: vlMachineTypes.h:140
unsigned long DtU32
A 32 bit unsigned integer value.
Definition: vlMachineTypes.h:153
void(* DtSignalInteractionCb)(DtSignalInteraction *pdu, void *usr)
DtSignalPdu callback function signature.
Definition: signalPdu.h:23
This file contains typedefs for machine dependant types.

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)