VR-Link API Documentation for DIS
recordPdu.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 DtRecordPdu_H_
00011 #define DtRecordPdu_H_
00012 
00013 #if DtDIS
00014 
00015 #include <vlutil/vlMachineTypes.h>
00016 #include "hostStructs.h"
00017 #include "recordSetPdu.h"
00018 #include "exerciseConn.h"
00019 
00020 #include "packets/recordP.h"
00021 
00022 
00023 class DT_DLL_VL DtRecordPdu;
00024 
00025 typedef DtRecordPdu DtRecordRInteraction;
00026 
00028 typedef void (*DtRecordPduCb)(DtRecordPdu* pdu, void* usr);
00029 
00030 
00033 class DT_DLL_VL DtRecordPdu : public DtRecordSetPdu
00034 {
00035 
00036 public:
00037 
00039    DtRecordPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00040    DtRecordPdu(const DtNetRecordPdu* initial,
00041       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00042    DtRecordPdu(const DtRecordPdu& orig);
00043 
00045    virtual ~DtRecordPdu();
00046 
00048    DtRecordPdu& operator=(const DtRecordPdu& orig);
00049 
00051    virtual void setOriginatingEntityID(const DtEntityIdentifier& entity);
00052    virtual const DtEntityIdentifier& originatingEntityID() const;
00053 
00055    virtual void setReceivingEntityID(const DtEntityIdentifier& entity);
00056    virtual const DtEntityIdentifier& receivingEntityID() const;
00057 
00059    virtual void setRequestID(DtU32 id);
00060    virtual DtU32 requestID() const;
00061 
00063    virtual void setReqRelService(enum DtRequiredReliabilityService service);
00064    virtual DtRequiredReliabilityService reqRelService() const;
00065 
00067    virtual void setEventType(DtEventType type);
00068    virtual DtEventType eventType() const;
00069 
00071    virtual void setResponseSerialNumber(DtU32 num);
00072    virtual DtU32 responseSerialNumber() const;
00073 
00075    virtual void printData() const;
00076 
00078    virtual void printDataToStream(std::ostream& stream) const;
00079 
00080 public:
00081 
00084    static DtPdu* create(const DtNetPacket* initial,
00085       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00086 
00089    static void addCallback(DtExerciseConn* conn,
00090       DtRecordPduCb cb, void* usr);
00091    static void removeCallback(DtExerciseConn* conn,
00092       DtRecordPduCb cb, void* usr);
00093 
00094 protected:
00095 
00097    virtual DtNetRecordSetPdu* netRecordSetPduStruct() const;
00098 
00100    virtual DtPduKind internalGetPduKind() const;
00101 
00104    virtual DtNetRecordPdu* netPduStruct()  const; 
00105 
00108    DtRecordPdu* self() const;
00109 
00110 protected:
00111 
00113    static const int theStaticSize;
00114 
00115 protected:
00116 
00118    DtEntityIdentifier myEntityID;
00119 
00120 };
00121 
00122 #endif
00123 #endif
00124 

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)