VR-Link API Documentation for DIS
actRespRPdu.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 #ifndef DtActionResponseRPdu_H_
00006 #define DtActionResponseRPdu_H_
00007 
00011 #if DtDIS
00012 
00013 #include "hostStructs.h"
00014 #include "pduWithData.h"
00015 #include <vlpi/datumIdType.h>
00016 #include "packets/actRespRP.h"
00017 #include "exerciseConn.h"
00018 
00019 class DT_DLL_VL DtActionResponseRPdu;
00020 
00021 
00023 typedef void (*DtActionResponseRPduCb)(DtActionResponseRPdu* pdu, void* usr);
00024 
00028 class DT_DLL_VL DtActionResponseRPdu : public DtPduWithData
00029 {
00030 public:
00032    DtActionResponseRPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00033    DtActionResponseRPdu(const DtNetActionResponseRPdu* initial, 
00034       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00035    DtActionResponseRPdu(const DtActionResponseRPdu& orig);
00036 
00038    virtual ~DtActionResponseRPdu();
00039 
00041    DtActionResponseRPdu& operator=(const DtActionResponseRPdu& orig);
00042 
00044    virtual void setRequestId(unsigned long id);    
00045    virtual unsigned long requestId() const;
00046 
00048    virtual void setRequestStatus(DtRequestStatus rStatus);
00049    virtual DtRequestStatus requestStatus() const;
00050 
00052    virtual void printData() const;
00053 
00055    virtual void printDataToStream(std::ostream& stream) const;
00056 
00057 public:
00060    static DtPdu* create(const DtNetPacket* initial, 
00061       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);    
00062 
00065    static void addCallback(DtExerciseConn* conn, 
00066       DtActionResponseRPduCb cb, void* usr);
00067    static void removeCallback(DtExerciseConn* conn, 
00068       DtActionResponseRPduCb cb, void* usr);
00069 
00070 protected:
00072    virtual DtPduKind internalGetPduKind() const;
00073 
00075    virtual DtNetDataPduTail* dataSection() const;
00076 
00077 protected:
00078 
00079    static const int theStaticSize;
00080 
00081 };
00082 
00083 inline DtPduKind DtActionResponseRPdu::internalGetPduKind() const
00084 {
00085    return DtActionResponseRPduKind;
00086 }
00087 
00088 #endif
00089 #endif
00090 

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)