VR-Link API Documentation for HLA 1516
receivePdu.h
Go to the documentation of this file.
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 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)