![]() |
VR-Link API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00009 00010 #ifndef DtReceiverPdu_H_ 00011 #define DtReceiverPdu_H_ 00012 00013 #if DtDIS 00014 00015 #include "hostStructs.h" 00016 #include "pdu.h" 00017 #include "packets/transmitterP.h" 00018 #include "stateMsg.h" 00019 00020 class DtExerciseConn; 00021 class DtReceiverPdu; 00022 00024 typedef void (*DtReceiverPduCb)(DtReceiverPdu *pdu, void *usr); 00025 00028 class DT_DLL_VL DtReceiverPdu : public DtStateMsg 00029 { 00030 public: 00032 enum { PduStaticSize=36 }; 00033 00034 public: 00036 DtReceiverPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00037 00039 DtReceiverPdu(const DtNetReceiverPdu *initial, 00040 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00041 00043 ~DtReceiverPdu() {}; 00044 00046 00047 const DtEntityIdentifier &entityId() const; 00048 void setEntityId(const DtEntityIdentifier &id); 00050 00052 00053 unsigned int radioId() const; 00054 void setRadioId(unsigned int id); 00056 00058 00059 DtRadioReceiverState receiverState() const; 00060 void setReceiverState(DtRadioReceiverState state); 00062 00064 00065 float receivedPower() const; 00066 void setReceivedPower(float power); 00068 00070 00071 const DtEntityIdentifier &transmitEntityId() const; 00072 void setTransmitEntityId(const DtEntityIdentifier &id); 00074 00076 00077 unsigned int transmitRadioId() const; 00078 void setTransmitRadioId(unsigned int id); 00080 00082 virtual void printData() const; 00083 00085 virtual void printDataToStream(std::ostream &stream) const; 00086 00087 public: 00090 static DtPdu *create(const DtNetPacket *initial, 00091 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00092 00094 static void addCallback(DtExerciseConn *conn, 00095 DtReceiverPduCb cb, void *usr); 00096 00098 static void removeCallback(DtExerciseConn *conn, 00099 DtReceiverPduCb cb, void *usr); 00100 00101 protected: 00103 DtPduKind internalGetPduKind() const {return DtReceiverPduKind;} 00104 DtEntityIdentifier theId; 00105 DtEntityIdentifier transId; 00106 }; 00107 00108 00109 #endif //! DtDIS 00110 #endif //! DtReceiverPdu_H_ 00111