VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
attributePdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2013 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #pragma once
7 
10 
11 #if DtDIS
12 #include "vlutil/vlMachineTypes.h"
13 #include "vl/hostStructs.h"
14 #include <vl/packets/attributeP.h>
15 #include <vl/interaction.h>
16 
19 
21 
22 typedef void (*DtAttributeInteractionCb)(DtAttributeInteraction *inter, void *usr);
23 
27 {
28 public:
29 
31 
32  DtAttributePdu(const DtNetAttributePdu *initial,
33  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
34 
36  virtual ~DtAttributePdu();
37 
39  virtual void setOriginatingSimulationAddress(const DtSimulationAddress& address);
41  virtual const DtSimulationAddress& originatingSimulationAddress() const;
42 
44  virtual void setAttributeRecordPduType(DtPduKind pduType);
46  virtual DtPduKind attributeRecordPduType() const;
47 
49  virtual void setAttributeRecordProtocolVersion(DtProtocolFamily protocolFamily);
51  virtual DtProtocolFamily attributeRecordProtocolVersion() const;
52 
54  virtual void setMasterAttributeRecordType(DtDatumParam recordType);
56  virtual unsigned int masterAttributeRecordType() const;
57 
59  virtual void setActionCode(DtAttributeActionCode actionCode);
61  virtual DtAttributeActionCode actionCode() const;
62 
64  virtual int numberOfAttributeRecordSets() const;
65 
66  virtual void printData() const;
67  virtual void printDataToStream(std::ostream& stream) const;
68  virtual void printDataToString(DtString& str) const;
69 
70 public:
71 
72  static DtPdu *create(const DtNetPacket *initial,
73  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
74 
75  static void addCallback(DtExerciseConn *conn,
76  DtAttributeInteractionCb cb, void *usr);
77  static void removeCallback(DtExerciseConn *conn,
78  DtAttributeInteractionCb cb, void *usr);
79 
80 
81 
82 protected:
83 
85  static const int theStaticSize;
86 
87 protected:
88 
89 
90 protected:
91 
94 
96  virtual DtNetAttributePdu* netPduStruct() const;
97 
100  DtAttributePdu* self() const;
101 
107  // Number of Attribute Record Sets and Attribute Record Sets are contained in the
108  // base class DtPduWithAttributeRecordSets
109 };
110 
111 #endif

Document ID: Generated on Wed Jan 7 13:31:29 EST 2015 from SVN revision 149162
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)