![]() |
VR-Link API Documentation for HLA Evolved
|
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