VR-Link API Documentation for HLA Evolved
dataPdu.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00008 
00009 #ifndef DtDataPdu_H_
00010 #define DtDataPdu_H_
00011 
00012 #if DtDIS
00013 
00014 #include "hostStructs.h"
00015 #include "pduWithData.h"
00016 #include <vlpi/datumIdType.h>
00017 
00018 
00019 class DT_DLL_VL DtExerciseConn;
00020 class DT_DLL_VL DtDataPdu;
00021 typedef DtDataPdu DtDataInteraction;
00022 
00024 typedef void (*DtDataPduCb)(DtDataPdu *pdu, void *usr);
00025 
00029 class DT_DLL_VL DtDataPdu : public DtPduWithData
00030 {
00031 
00032 public:
00033    enum { PduStaticSize=40 };
00034 
00035 public:
00037    DtDataPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00038    DtDataPdu(const DtNetDataPdu *initial, 
00039              DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00040 
00043    static DtPdu *create(const DtNetPacket *initial, 
00044                         DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);    
00045 
00047    virtual unsigned long requestId() const;
00048    virtual void setRequestId(unsigned long id);    
00049 
00051    virtual void printData() const;
00052 
00054    virtual void printDataToStream(std::ostream& stream) const;
00055 
00056 public:
00059    static void addCallback(
00060       DtExerciseConn *conn, DtDataPduCb cb, void *usr);
00061    static void removeCallback(
00062       DtExerciseConn *conn, DtDataPduCb cb, void *usr);
00063 
00064 protected:
00066    DtPduKind internalGetPduKind() const {return DtDataPduKind;}
00067 
00069    DtNetDataPduTail *dataSection() const;
00070 }; 
00071 
00072 #endif
00073 #endif
00074 

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)