VR-Link API Documentation for HLA Evolved
queryPdu.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 DtDataQueryPdu_H_
00011 #define DtDataQueryPdu_H_
00012 
00013 #if DtDIS
00014 
00015 #include "hostStructs.h"
00016 #include "simanPdu.h"
00017 
00018 
00019 class DT_DLL_VL DtExerciseConn;
00020 class DT_DLL_VL DtDataQueryPdu;
00021 
00022 typedef DtDataQueryPdu DtDataQueryInteraction;
00023 
00025 typedef void (*DtDataQueryPduCb)(DtDataQueryPdu *pdu, void *usr);
00026 
00030 class DT_DLL_VL DtDataQueryPdu : public DtSimanPdu
00031 {
00032 public:
00033 
00034    enum {PduStaticSize=40 };
00035 
00036 public:
00038    DtDataQueryPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00039    DtDataQueryPdu(const DtNetDataQueryPdu *initial, 
00040                   DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 
00041 
00043    unsigned long requestId() const;
00044    void setRequestId(unsigned long id);    
00045 
00047    DtTime timeInterval() const;
00048    void setTimeInterval(DtTime seconds);   
00049 
00051    unsigned long numFixedFields() const;
00052 
00054    unsigned long numVarFields() const;
00055 
00057    DtDatumParam fixedDatumId(int index) const;
00058    int setFixedDatumId(int index, DtDatumParam id);
00059 
00061    DtDatumParam varDatumId(int index) const;
00062    int setVarDatumId(int index, DtDatumParam id); 
00063 
00065    void initDatumIds(unsigned long numFixedFields, 
00066                      unsigned long numVarFields);
00067 
00069    virtual void printData() const;
00070 
00072    virtual void printDataToStream(std::ostream& stream) const;
00073 
00074 public:
00077    static DtPdu *create(const DtNetPacket *initial, 
00078                         DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);    
00079 
00082    static void addCallback(DtExerciseConn *conn, 
00083                            DtDataQueryPduCb cb, void *usr);
00084    static void removeCallback(DtExerciseConn *conn, 
00085                               DtDataQueryPduCb cb, void *usr);
00086 
00087 
00088 protected:
00089    DtPduKind internalGetPduKind() const {return DtDataQueryPduKind;}
00090 };
00091 
00092 #endif
00093 #endif
00094 

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)