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) 2025 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtDIS
13 
15 #include <vl/interaction.h>
17 
18 class DtExerciseConn;
19 
21 
24 {
25  DtNetPduHeader DtHeader;
26  DtNetEntityIdentifier myRequestingEntity;
27  DtNetU16 myRequestId;
28  DtNetU8 padding1[4];
29  DtNetUuid myUniqueId;
30  DtNetFloat64 myMonitorPeriod;
31  DtNetBoolean myStopMonitoring;
32  DtNetU8 padding2[3];
33  // List of resource entity type follows
34 };
35 
38  void* usr);
39 
43 {
44 public:
45 
47  DtResourceStatusRequestInter(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
48 
50  virtual ~DtResourceStatusRequestInter() override;
51 
54 
57 
59  virtual void setRequestingEntity(const DtEntityIdentifier& val);
60 
62  virtual DtEntityIdentifier requestingEntity() const;
63 
65  virtual void setUniqueId(const DtVrlUuid& val);
66 
68  virtual DtVrlUuid uniqueId() const;
69 
71  virtual void setRequestId(unsigned val);
72 
74  virtual unsigned requestId() const;
75 
77  virtual void setResources(const std::vector<DtEntityType>& val);
78 
80  virtual std::vector<DtEntityType> resources() const;
81 
83  virtual void setMonitorPeriod(double val);
84 
86  virtual double monitorPeriod() const;
87 
89  virtual void setStopMonitoring(bool val);
90 
92  bool stopMonitoring() const;
93 
95  virtual const char* name() const { return "DtResourceStatusRequestInter"; }
96 
98  virtual void printData() const override;
99 
101  virtual void printDataToStream(std::ostream &stream) const override;
102 
103 public:
104 
107  static DtPdu* create(const DtNetPacket *initial,
108  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
109 
112  static void addCallback(DtExerciseConn* conn,
114  static void removeCallback(DtExerciseConn* conn,
116 
117 protected:
118 
120  DtResourceStatusRequestInter(const DtNetPacket* pkt, DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
121 
122  // Returns the number of bytes in the fixed length portion of this PDU
123  // This is the initial size of the PDU before any variable datums are added
124  virtual unsigned int fixedBytesSize() const;
125  // A pointer to the first byte of variable datums. If there are no variable
126  // datums this points to the first byte out-of-bounds. This address should
127  // only be used if you know the PDU has been resized correctly.
128  virtual char *firstVarDatumStart() const;
129 
130  unsigned netSizeOfResources(const std::vector<DtEntityType>& resources) const;
131  void writeResources(char* buffer, const std::vector<DtEntityType>& resources);
132  void readResources(char* buffer, std::vector<DtEntityType>& resources) const;
133 
134  static DtPduKind internalGetPduKindImpl() {
136  }
137  virtual DtPduKind internalGetPduKind() const override {
138  return internalGetPduKindImpl();}
139 
140 protected:
141 
142  // Cached values to ensure proper buffering
143  std::vector<DtEntityType> myResources;
144 
145 };
146 
147 DT_DLL_vrfExtObjects std::ostream& operator<< (std::ostream& stream,
148  const DtResourceStatusRequestInter& object);
149 
150 #endif
A PDU layout for DtResourceStatusRequestInter.
Definition: resourceStatusRequestInterDIS.h:23
DtNetBoolean myStopMonitoring
Definition: resourceStatusRequestInterDIS.h:31
void(* DtResourceStatusRequestInterInterCb)(DtResourceStatusRequestInter *inter, void *usr)
DtResourceStatusRequestInter callback function signature.
Definition: resourceStatusRequestInterDIS.h:37
DtNetFloat64 myMonitorPeriod
Definition: resourceStatusRequestInterDIS.h:30
static DtPduKind internalGetPduKindImpl()
Definition: resourceStatusRequestInterDIS.h:134
DtNetEntityIdentifier myRequestingEntity
Definition: resourceStatusRequestInterDIS.h:26
const DtPduKind DtResourceStatusRequestPduKind
Definition: disEnumsExtensions.h:129
DtNetU8 padding2[3]
Definition: resourceStatusRequestInterDIS.h:32
DT_DLL_features std::ostream & operator<<(std::ostream &, const DtFeatureTransform &)
std::ostream output.
virtual DtPduKind internalGetPduKind() const override
Definition: resourceStatusRequestInterDIS.h:137
DtNetU16 myRequestId
Definition: resourceStatusRequestInterDIS.h:27
DtNetU8 padding1[4]
Definition: resourceStatusRequestInterDIS.h:28
DtNetUuid myUniqueId
Definition: resourceStatusRequestInterDIS.h:29
virtual const char * name() const
Name of the interaction.
Definition: resourceStatusRequestInterDIS.h:95
Instances of DtResourceStatusRequestInter are used to store state data for resourceRequest interactio...
Definition: resourceStatusRequestInterDIS.h:42
voidpf stream
Definition: ioapi.h:39
DtNetPduHeader DtHeader
Definition: resourceStatusRequestInterDIS.h:25
std::vector< DtEntityType > myResources
Definition: resourceStatusRequestInterDIS.h:143
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)