VR-Link API Documentation for DIS
dataQueryRPdu.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 DtDataQueryRPdu_H_
00011 #define DtDataQueryRPdu_H_
00012 
00013 #if DtDIS
00014 
00015 #include "hostStructs.h"
00016 #include "simanPdu.h"
00017 #include "packets/dataQueryRP.h"
00018 #include "exerciseConn.h"
00019 
00020 
00021 
00022 class DT_DLL_VL DtDataQueryRPdu;
00023 
00025 typedef void (*DtDataQueryRPduCb)(DtDataQueryRPdu* pdu, void* usr);
00026 
00030 class DT_DLL_VL DtDataQueryRPdu : public DtSimanPdu
00031 {
00032 public:
00034    DtDataQueryRPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00035    DtDataQueryRPdu(const DtNetDataQueryRPdu* initial, 
00036       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 
00037    DtDataQueryRPdu(const DtDataQueryRPdu& orig);
00038 
00040    virtual ~DtDataQueryRPdu();
00041 
00043    DtDataQueryRPdu& operator=(const DtDataQueryRPdu& orig);
00044 
00046    virtual void setRequestId(unsigned long id);    
00047    virtual unsigned long requestId() const;
00048 
00050    virtual void setTimeInterval(DtTime seconds);   
00051    virtual DtTime timeInterval() const;
00052 
00054    virtual unsigned long numFixedFields() const;
00055 
00057    virtual unsigned long numVarFields() const;
00058 
00060    virtual int setFixedDatumId(int index, DtDatumParam id);
00061    virtual DtDatumParam fixedDatumId(int index) const;
00062 
00064    virtual int setVarDatumId(int index, DtDatumParam id); 
00065    virtual DtDatumParam varDatumId(int index) const;
00066 
00068    virtual void setReqRelService(DtRequiredReliabilityService value);
00069    virtual DtRequiredReliabilityService reqRelService() const;
00070 
00072    virtual void initDatumIds(unsigned long numFixedFields, 
00073       unsigned long numVarFields);
00074 
00076    virtual void printData() const;
00077 
00079    virtual void printDataToStream(std::ostream& stream) const;
00080 
00081 public:
00084    static DtPdu* create(const DtNetPacket* initial, 
00085       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);    
00086 
00089    static void addCallback(DtExerciseConn* conn, 
00090       DtDataQueryRPduCb cb, void* usr);
00091    static void removeCallback(DtExerciseConn* conn, 
00092       DtDataQueryRPduCb cb, void* usr);
00093 
00094 protected:
00095 
00097    virtual DtPduKind internalGetPduKind() const;
00098 
00099 protected:
00100 
00101    static const int theStaticSize;
00102 
00103 };
00104 
00105 inline DtPduKind DtDataQueryRPdu::internalGetPduKind() const
00106 {
00107    return DtDataQueryRPduKind;
00108 }
00109 
00110 #endif
00111 #endif
00112 

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)