VR-Link API Documentation for DIS
actReqRPdu.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 #ifndef DtActionRequestRPdu_H_
00006 #define DtActionRequestRPdu_H_
00007 
00011 
00012 #if DtDIS
00013 
00014 #include "hostStructs.h"
00015 #include "pduWithData.h"
00016 #include <vlpi/datumIdType.h>
00017 #include "packets/actReqRP.h"
00018 #include "exerciseConn.h"
00019 
00020 class DT_DLL_VL DtActionRequestRPdu;
00021 
00022 
00024 typedef void (*DtActionRequestRPduCb)(DtActionRequestRPdu* pdu, void* usr);
00025 
00026 
00030 class DT_DLL_VL DtActionRequestRPdu : public DtPduWithData
00031 {
00032 public:
00034    DtActionRequestRPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00035    DtActionRequestRPdu(const DtNetActionRequestRPdu* initial, 
00036       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00037    DtActionRequestRPdu(const DtActionRequestRPdu& orig);
00038 
00040    virtual ~DtActionRequestRPdu();
00041 
00043    DtActionRequestRPdu& operator=(const DtActionRequestRPdu& orig);
00044 
00046    virtual void setRequestId(unsigned long id);
00047    virtual unsigned long requestId() const;
00048 
00050    virtual void setActionId(unsigned long id);
00051    virtual unsigned long actionId() const;
00052 
00054    virtual void setReqRelService(DtRequiredReliabilityService value);
00055    virtual DtRequiredReliabilityService reqRelService() const;
00056 
00058    virtual void printData() const;
00059 
00061    virtual void printDataToStream(std::ostream& stream) const;
00062 
00063 public:
00066    static DtPdu* create(const DtNetPacket* initial, 
00067       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);    
00068 
00071    static void addCallback(DtExerciseConn* conn, 
00072       DtActionRequestRPduCb cb, void* usr);
00073    static void removeCallback(DtExerciseConn* conn, 
00074       DtActionRequestRPduCb cb, void* usr);
00075 
00076 protected:
00078    virtual DtPduKind internalGetPduKind() const;
00079 
00081    virtual DtNetDataPduTail* dataSection() const;
00082 
00083 protected:
00084 
00085    static const int theStaticSize;
00086 
00087 };
00088 
00089 inline DtPduKind DtActionRequestRPdu::internalGetPduKind() const
00090 {
00091    return DtActionRequestRPduKind;
00092 }
00093 
00094 #endif
00095 #endif
00096 

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)