VR-Link API Documentation for DIS
mineRsNackPdu.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 
00009 
00010 #ifndef DtMinefieldResponseNackPdu_H_
00011 #define DtMinefieldResponseNackPdu_H_
00012 
00013 #if DtDIS
00014 
00015 #include <vlutil/vlMachineTypes.h>
00016 #include "hostStructs.h"
00017 #include "dInteraction.h"
00018 #include "exerciseConn.h"
00019 
00020 #include "packets/mineRsNackP.h"
00021 
00022 
00023 class DT_DLL_VL DtMinefieldResponseNackPdu;
00024 
00026 typedef void (*DtMinefieldResponseNackPduCb)
00027    (DtMinefieldResponseNackPdu* pdu, void* usr);
00028 
00032 class DT_DLL_VL DtMinefieldResponseNackPdu : public DtInteraction
00033 {
00034 
00035 public:
00036 
00038    DtMinefieldResponseNackPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00039    DtMinefieldResponseNackPdu(const DtNetMinefieldResponseNackPdu* initial,
00040       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00041    DtMinefieldResponseNackPdu(const DtMinefieldResponseNackPdu& orig);
00042 
00044    virtual ~DtMinefieldResponseNackPdu();
00045 
00047    DtMinefieldResponseNackPdu& operator=(
00048       const DtMinefieldResponseNackPdu& orig);
00049 
00051    virtual void setMinefieldID(const DtEntityIdentifier& id);
00052    virtual const DtEntityIdentifier& minefieldID() const;
00053 
00055    virtual void setRequestingEntityID(const DtEntityIdentifier& id);
00056    virtual const DtEntityIdentifier& requestingEntityID() const;
00057 
00059    virtual void setRequestID(DtU8 id);
00060    virtual DtU8 requestID() const;
00061 
00063    virtual bool setNumMissingPDUs(DtU8 num);
00064    virtual DtU8 numMissingPDUs() const;
00065 
00068    virtual bool setPDU_SequenceNumber(int index, DtU8 num);
00069    virtual bool getPDU_SequenceNumber(int index, DtU8& num) const;
00070 
00072    virtual void printData() const;
00073 
00075    virtual void printDataToStream(std::ostream& stream) const;
00076 
00077 public:
00078 
00081    static DtPdu* create(const DtNetPacket* initial,
00082       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00083 
00086    static void addCallback(DtExerciseConn* conn,
00087       DtMinefieldResponseNackPduCb cb, void* usr);
00088    static void removeCallback(DtExerciseConn* conn,
00089       DtMinefieldResponseNackPduCb cb, void* usr);
00090 
00091 protected:
00092 
00094    virtual DtPduKind internalGetPduKind() const;
00095 
00097    virtual DtNetMinefieldResponseNackPdu* netPduStruct()  const; 
00098 
00100    virtual char* var() const;
00101 
00104    DtMinefieldResponseNackPdu* self() const; 
00105 
00106 protected:
00107 
00109    static const int theStaticSize;
00110 
00111 protected:
00112 
00114    DtEntityIdentifier myEntityID;
00115 
00116 };
00117 
00118 #endif
00119 #endif
00120 

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)