VR-Link API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
signalPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2013 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #pragma once
10 
11 #if DtDIS
12 
13 #include "hostStructs.h"
14 #include "pdu.h"
15 #include "packets/signalP.h"
16 #include "interaction.h"
17 
18 class DtExerciseConn;
19 class DtSignalPdu;
20 typedef DtSignalPdu DtSignalInteraction;
21 
23 typedef void (*DtSignalInteractionCb)(DtSignalInteraction *pdu, void *usr);
24 
28 class DT_DLL_VL DtSignalPdu : public DtInteraction
29 {
30 public:
31 
32  enum { PduStaticSize=32 };
33 
34 public:
35 
37  DtSignalPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
38 
40  DtSignalPdu(const DtNetSignalPdu *initial,
41  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
42 
45  static DtPdu *create(const DtNetPacket *initial,
46  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
47 
49  static void addCallback(DtExerciseConn *conn,
50  DtSignalInteractionCb cb, void *usr);
51 
53  static void removeCallback(DtExerciseConn *conn,
54  DtSignalInteractionCb cb, void *usr);
55 
57  const DtEntityIdentifier &entityId() const;
59  void setEntityId(const DtEntityIdentifier &id);
61 
63  unsigned int radioId() const;
68  void setRadioId(unsigned int id);
70 
72  DtEncodingClass encodingClass() const;
74  void setEncodingClass(DtEncodingClass encodingClass);
76 
78  unsigned int encodingType() const;
81  void setEncodingType(unsigned int codeType);
83 
85  long sampleRate() const;
87  void setSampleRate(long rate);
89 
91  int numDataBits() const;
93  void setNumDataBits(int lengthInBits);
95 
97  int numDataBytes() const;
99  void setNumDataBytes(int lengthInBytes);
101 
103  int numSamples() const;
105  void setNumSamples(int numSamples);
107 
109  unsigned char dataByte(int byteNum) const;
111  void setDataByte(int byteNum, unsigned char data);
113 
115  void getData(unsigned char *buff) const;
130  void *data() const;
131  void setData(unsigned char *data, int numBytes);
133 
135  int tdlType() const;
137  void setTdlType(int type);
139 
141  virtual void printData() const;
142 
144  virtual void printDataToStream(std::ostream& stream) const;
145 
146 protected:
147 
148  DtPduKind internalGetPduKind() const {return DtSignalPduKind;}
149  DtEntityIdentifier theId;
150 };
151 
152 
153 #endif
DtInteraction is an abstract base class for representing HLA interactions (or events) (as opposed to ...
Definition: interactionHLA.h:33
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnHLA.h:60
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
void(* DtSignalInteractionCb)(DtSignalInteraction *inter, void *usr)
Collision interaction callback function signature.
Definition: signalInteractionHLA.h:36
Definition: pduHeader.h:14
Definition: disEnums.h:267
static void removeCallback(DtExerciseConn *conn, const std::vector< DtString > *classes, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
Definition: vl/packets/signalP.h:38
virtual void printData() const
Print the interaction&#39;s data to DtInfo.
Definition: interactionHLA.h:348
This file is used as a convenience to group interaction concepts together.
virtual void printDataToStream(std::ostream &stream) const
Print the interaction&#39;s data to the stream.
Definition: interactionHLA.h:356
DtPdu is the base class for all PDU&#39;s in VR-Link.
Definition: pdu.h:69
static void addCallback(DtExerciseConn *conn, const std::vector< DtString > *classes, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
Register/Deregister callback function cb with conn, on all interaction class name (char*) contained i...
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
struct DtBufferPlaceHolder * DtBufferPtr
Definition: vlBaseMsg.h:17
DtEncodingClass
Definition: disEnums.h:917
#define DtUSE_INTERNAL_BUFFER
Definition: vlBaseMsg.h:22
Instances of DtSignalInteraction are used to represent RadioSignal RPR FOM Interactions.
Definition: signalInteractionHLA.h:42
DtPduKind
([UID 4]) - PDU Type
Definition: disEnums.h:238

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)