VR-Link API Documentation for HLA 1516
testPdu.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 #pragma once
00006 
00007 #if DtDIS
00008 
00009 #include <vl/pdu.h>
00010 #include <vl/dExerciseConn.h>
00011 
00016 
00025 typedef struct NetTestPdu
00026 {
00027    DtNetPduHeader header;
00028    DtNetInt32 a;
00029    DtNetInt32 b[1];
00030 } NetTestPdu;
00031 
00035 const DtPduKind TestPduKind = DtPduKind(220);
00036 
00040 class TestPdu;
00042 typedef void (*TestPduCb)(TestPdu* pdu, void* usr);
00043 
00046 class TestPdu : public DtPdu
00047 {
00048 public:
00049 
00052    TestPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00053 
00059    TestPdu(const NetTestPdu *initial, 
00060       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00061 
00064    virtual ~TestPdu();
00065    
00069    TestPdu(const TestPdu& orig);
00070 
00074    TestPdu& operator=(const TestPdu& orig);
00075 
00079    virtual void printData() const;
00080  
00085    
00087    virtual void setA(int val);
00088    virtual int a() const;
00089 
00093    virtual void setB(int index, int val);
00094    virtual int b(int index) const;
00095    
00097    virtual void setC(float val);
00098    virtual float c() const;
00099    
00104    virtual NetTestPdu* netTestPdu();
00105    virtual const NetTestPdu* netTestPdu() const;
00106 
00107 public:
00108 
00114    static DtPdu* create(const DtNetPacket *initial, 
00115       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);    
00116    
00125    static void addCallback(DtExerciseConn *conn, TestPduCb cb, void *usr);
00126    static void removeCallback(DtExerciseConn *conn, TestPduCb cb, void *usr);
00127    
00128 protected:
00129    
00133    virtual DtPduKind internalGetPduKind() const;
00134 };
00135 
00136 #endif

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)