VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
resourceStatusRequestInterDIS.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2024 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtDIS
13 
15 #include <vl/interaction.h>
16 
17 class DtExerciseConn;
18 
20 
23 {
24  DtNetPduHeader DtHeader;
25  DtNetEntityIdentifier myRequestingEntity;
26  DtNetU16 myRequestId;
27  DtNetU8 padding1[4];
28  DtNetUuid myUniqueId;
29  DtNetFloat64 myMonitorPeriod;
30  DtNetBoolean myStopMonitoring;
31  DtNetU8 padding2[3];
32  // List of resource entity type follows
33 };
34 
37  void* usr);
38 
42 {
43 public:
44 
46  DtResourceStatusRequestInter(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
48  DtResourceStatusRequestInter(const DtNetPacket *pkt, DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
49 
52 
55 
58 
60  virtual void setRequestingEntity(const DtEntityIdentifier& val);
61 
63  virtual DtEntityIdentifier requestingEntity() const;
64 
66  virtual void setUniqueId(const DtVrlUuid& val);
67 
69  virtual DtVrlUuid uniqueId() const;
70 
72  virtual void setRequestId(unsigned val);
73 
75  virtual unsigned requestId() const;
76 
78  virtual void setResources(const std::vector<DtEntityType>& val);
79 
81  virtual std::vector<DtEntityType> resources() const;
82 
84  virtual void setMonitorPeriod(double val);
85 
87  virtual double monitorPeriod() const;
88 
90  virtual void setStopMonitoring(bool val);
91 
93  bool stopMonitoring() const;
94 
96  virtual const char* name() const { return "DtResourceStatusRequestInter"; }
97 
99  virtual void printData() const;
100 
102  virtual void printDataToStream(std::ostream& stream) const;
103 
104 public:
105 
108  static DtPdu* create(const DtNetPacket *initial,
109  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
110 
113  static void addCallback(DtExerciseConn* conn,
115  static void removeCallback(DtExerciseConn* conn,
117 
118 protected:
119 
120  // Returns the number of bytes in the fixed length portion of this PDU
121  // This is the initial size of the PDU before any variable datums are added
122  virtual unsigned int fixedBytesSize() const;
123  // A pointer to the first byte of variable datums. If there are no variable
124  // datums this points to the first byte out-of-bounds. This address should
125  // only be used if you know the PDU has been resized correctly.
126  virtual char *firstVarDatumStart() const;
127 
128  unsigned netSizeOfResources(const std::vector<DtEntityType>& resources) const;
129  void writeResources(char* buffer, const std::vector<DtEntityType>& resources);
130  void readResources(char* buffer, std::vector<DtEntityType>& resources) const;
131 
132  static DtPduKind internalGetPduKindImpl() { return (DtPduKind)225; }
133  DtPduKind internalGetPduKind() const {return internalGetPduKindImpl();}
134 
135 protected:
136 
137  // Cached values to ensure proper buffering
138  std::vector<DtEntityType> myResources;
139 
140 };
141 
142 DT_DLL_vrfExtObjects std::ostream& operator<< (std::ostream& stream,
143  const DtResourceStatusRequestInter& object);
144 
145 #endif
A PDU layout for DtResourceStatusRequestInter.
Definition: resourceStatusRequestInterDIS.h:22
DtNetBoolean myStopMonitoring
Definition: resourceStatusRequestInterDIS.h:30
void(* DtResourceStatusRequestInterInterCb)(DtResourceStatusRequestInter *inter, void *usr)
DtResourceStatusRequestInter callback function signature.
Definition: resourceStatusRequestInterDIS.h:36
DtNetFloat64 myMonitorPeriod
Definition: resourceStatusRequestInterDIS.h:29
static DtPduKind internalGetPduKindImpl()
Definition: resourceStatusRequestInterDIS.h:132
DtNetEntityIdentifier myRequestingEntity
Definition: resourceStatusRequestInterDIS.h:25
DtNetU8 padding2[3]
Definition: resourceStatusRequestInterDIS.h:31
DT_DLL_features std::ostream & operator<<(std::ostream &, const DtFeatureTransform &)
std::ostream output.
DtNetU16 myRequestId
Definition: resourceStatusRequestInterDIS.h:26
DtNetU8 padding1[4]
Definition: resourceStatusRequestInterDIS.h:27
DtNetUuid myUniqueId
Definition: resourceStatusRequestInterDIS.h:28
virtual const char * name() const
Name of the interaction.
Definition: resourceStatusRequestInterDIS.h:96
Instances of DtResourceStatusRequestInter are used to store state data for resourceRequest interactio...
Definition: resourceStatusRequestInterDIS.h:41
voidpf stream
Definition: ioapi.h:39
DtPduKind internalGetPduKind() const
Definition: resourceStatusRequestInterDIS.h:133
DtNetPduHeader DtHeader
Definition: resourceStatusRequestInterDIS.h:24
std::vector< DtEntityType > myResources
Definition: resourceStatusRequestInterDIS.h:138
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)