![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00008 00009 #ifndef DtSignalPdu_H_ 00010 #define DtSignalPdu_H_ 00011 00012 #if DtDIS 00013 00014 #include "hostStructs.h" 00015 #include "pdu.h" 00016 #include "packets/signalP.h" 00017 #include "interaction.h" 00018 00019 class DtExerciseConn; 00020 class DtSignalPdu; 00021 typedef DtSignalPdu DtSignalInteraction; 00022 00024 typedef void (*DtSignalInteractionCb)(DtSignalInteraction *pdu, void *usr); 00025 00029 class DT_DLL_VL DtSignalPdu : public DtInteraction 00030 { 00031 public: 00032 00033 enum { PduStaticSize=32 }; 00034 00035 public: 00036 00038 DtSignalPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00039 00041 DtSignalPdu(const DtNetSignalPdu *initial, 00042 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00043 00046 static DtPdu *create(const DtNetPacket *initial, 00047 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00048 00050 static void addCallback(DtExerciseConn *conn, 00051 DtSignalInteractionCb cb, void *usr); 00052 00054 static void removeCallback(DtExerciseConn *conn, 00055 DtSignalInteractionCb cb, void *usr); 00056 00058 00059 const DtEntityIdentifier &entityId() const; 00060 void setEntityId(const DtEntityIdentifier &id); 00062 00064 00065 00066 00067 00068 unsigned int radioId() const; 00069 void setRadioId(unsigned int id); 00071 00073 00074 DtEncodingClass encodingClass() const; 00075 void setEncodingClass(DtEncodingClass encodingClass); 00077 00079 00080 00081 unsigned int encodingType() const; 00082 void setEncodingType(unsigned int codeType); 00084 00086 00087 long sampleRate() const; 00088 void setSampleRate(long rate); 00090 00092 00093 int numDataBits() const; 00094 void setNumDataBits(int lengthInBits); 00096 00098 00099 int numDataBytes() const; 00100 void setNumDataBytes(int lengthInBytes); 00102 00104 00105 int numSamples() const; 00106 void setNumSamples(int numSamples); 00108 00110 00111 unsigned char dataByte(int byteNum) const; 00112 void setDataByte(int byteNum, unsigned char data); 00114 00116 00117 00118 00119 00120 00121 00122 00123 00124 00125 00126 00127 00128 00129 00130 void getData(unsigned char *buff) const; 00131 void *data() const; 00132 void setData(unsigned char *data, int numBytes); 00134 00136 00137 int tdlType() const; 00138 void setTdlType(int type); 00140 00142 virtual void printData() const; 00143 00145 virtual void printDataToStream(std::ostream& stream) const; 00146 00147 protected: 00148 00149 DtPduKind internalGetPduKind() const {return DtSignalPduKind;} 00150 DtEntityIdentifier theId; 00151 }; 00152 00153 00154 #endif 00155 #endif 00156