VR-Link API Documentation for HLA Evolved
transCtlPdu.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 DtTransferControlRequestPdu_H_
00011 #define DtTransferControlRequestPdu_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/transCtlP.h"
00021 
00022 
00023 class DT_DLL_VL DtTransferControlRequestPdu;
00024 
00025 typedef DtTransferControlRequestPdu DtTransferControlInteraction;
00026 
00028 typedef void (*DtTransferControlRequestPduCb)
00029    (DtTransferControlRequestPdu* pdu, void* usr);
00030 
00031 
00035 class DT_DLL_VL DtTransferControlRequestPdu : public DtRecordSetPdu
00036 {
00037 
00038 public:
00039 
00041    DtTransferControlRequestPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00042    DtTransferControlRequestPdu(const DtNetTransferControlRequestPdu* initial,
00043       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00044    DtTransferControlRequestPdu(const DtTransferControlRequestPdu& orig);
00045 
00047    virtual ~DtTransferControlRequestPdu();
00048 
00050    DtTransferControlRequestPdu& operator=(
00051       const DtTransferControlRequestPdu& orig);
00052 
00054    virtual void setOriginatingEntityID(const DtEntityIdentifier& entity);
00055    virtual const DtEntityIdentifier& originatingEntityID() const;
00056 
00058    virtual void setReceivingEntityID(const DtEntityIdentifier& entity);
00059    virtual const DtEntityIdentifier& receivingEntityID() const;
00060 
00062    virtual void setRequestID(DtU32 id);
00063    virtual DtU32 requestID() const;
00064 
00066    virtual void setReqRelService(enum DtRequiredReliabilityService service);
00067    virtual DtRequiredReliabilityService reqRelService() const;
00068 
00070    virtual void setTransferType(DtTransferType type);
00071    virtual DtTransferType transferType() const;
00072 
00074    virtual void setTransferredEntityID(const DtEntityIdentifier& entity);
00075    virtual const DtEntityIdentifier& transferredEntityID() const;
00076 
00078    virtual void printData() const;
00079    virtual void printDataToStream(std::ostream& stream) const;
00080 
00081 public:
00082 
00085    static DtPdu* create(const DtNetPacket* initial,
00086       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00087 
00090    static void addCallback(DtExerciseConn* conn,
00091       DtTransferControlRequestPduCb cb, void* usr);
00092    static void removeCallback(DtExerciseConn* conn,
00093       DtTransferControlRequestPduCb cb, void* usr);
00094 
00095 protected:
00096 
00098    virtual DtNetRecordSetPdu* netRecordSetPduStruct() const;
00099 
00101    virtual DtPduKind internalGetPduKind() const;
00102 
00105    virtual DtNetTransferControlRequestPdu* netPduStruct()  const; 
00106 
00109    DtTransferControlRequestPdu* self() const;
00110 
00111 protected:
00112 
00114    static const int theStaticSize;
00115 
00116 protected:
00117 
00119    DtEntityIdentifier myEntityID;
00120 
00121 };
00122 
00123 #endif
00124 #endif
00125 

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)