VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
resupplyCancelPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2013 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 #include "hostStructs.h"
15 #include "pdu.h"
16 #include <matrix/vlMath.h>
17 #include "packets/logisticsP.h"
18 #include "interaction.h"
19 
20 
22 
23 class DT_DLL_VL DtResupplyCancelPdu;
24 typedef DtResupplyCancelPdu DtResupplyCancelInteraction;
25 typedef void (*DtResupplyCancelPduCb)(DtResupplyCancelPdu *pdu, void *usr);
26 
27 class DT_DLL_VL DtResupplyCancelPdu : public DtInteraction
28 {
29 public:
30 
31  enum { PduStaticSize=24 };
32 
33 public:
34 
35  DtResupplyCancelPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
36  DtResupplyCancelPdu(const DtNetResupplyCancelPdu *initial,
37  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
38  DtResupplyCancelPdu(const DtEntityIdentifier &receiveId,
39  const DtEntityIdentifier &supplyId,
41 
42  virtual ~DtResupplyCancelPdu() {};
43 
44  const DtEntityIdentifier &receivingId() const;
45  void setReceivingId(const DtEntityIdentifier &id);
46 
47  const DtEntityIdentifier &supplyingId() const;
48  void setSupplyingId(const DtEntityIdentifier &id);
49 
50  virtual void printData() const;
51  virtual void printDataToStream(std::ostream& stream) const;
52 
53 public:
54 
55  static DtPdu *create(const DtNetPacket *initial,
56  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
57 
58  static void addCallback(DtExerciseConn *conn,
59  DtResupplyCancelPduCb cb, void *usr);
60  static void removeCallback(DtExerciseConn *conn,
61  DtResupplyCancelPduCb cb, void *usr);
62 
63 protected:
64 
65  DtPduKind internalGetPduKind() const {return DtResupplyCancelPduKind;}
66  DtEntityIdentifier theId;
67 
68 };
69 
70 /*******************************************************/
71 /******************* RESUPPLY OFFER PDU ****************/
72 /*******************************************************/
73 
74 #define DtSUPPLY_VALID 1
75 #define DtSUPPLY_BAD_INDEX 0
76 
77 class DT_DLL_VL DtResupplyOfferPdu;
78 typedef DtResupplyOfferPdu DtResupplyOfferInteraction;
79 typedef void (*DtResupplyOfferPduCb)(DtResupplyOfferPdu *pdu, void *usr);
80 
81 class DT_DLL_VL DtResupplyOfferPdu : public DtInteraction
82 {
83 public:
84 
85  enum { PduStaticSize=28 };
86 
87 public:
88 
89 
90  DtResupplyOfferPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
91  DtResupplyOfferPdu(const DtNetResupplyOfferPdu *initial,
92  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
93 
94  DtResupplyOfferPdu(const DtEntityIdentifier &receiver,
95  const DtEntityIdentifier &supplier,
96  const DtEntityType &supply,
97  float quantity,
99 
100  const DtEntityIdentifier &supplyingId() const;
101  void setSupplyingId(const DtEntityIdentifier &servicer);
102 
103  int numSupplyTypes() const;
104  void setNumSupplyTypes(int numTypes);
105 
106  float supplyQuantity(const DtEntityType &supply) const;
107 
108  void setReceivingId(const DtEntityIdentifier &requester);
109  const DtEntityIdentifier &receivingId() const;
110 
111  const DtEntityType &nthSupply(int supplyIndex,
112  float *quantity = 0,
113  int *retCode = 0) const;
114  void setNthSupply(int supplyIndex,
115  const DtEntityType &supply,
116  float quantity,
117  int *retCode = 0);
118 
119  virtual void printData() const;
120  virtual void printDataToStream(std::ostream& stream) const;
121 
122 public:
123 
124  static DtPdu *create(const DtNetPacket *initial,
125  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
126  static void addCallback(DtExerciseConn *conn,
127  DtResupplyOfferPduCb cb, void *usr);
128  static void removeCallback(DtExerciseConn *conn,
129  DtResupplyOfferPduCb cb, void *usr);
130 
131 protected:
132 
133  DtPduKind internalGetPduKind() const {return DtResupplyOfferPduKind;}
134  int indexInBounds(int ind) const;
135  DtEntityIdentifier theId;
136  DtEntityType supType;
137 };
138 
139 /*******************************************************/
140 /******************* RESUPPLY RECEIVED PDU *************/
141 /*******************************************************/
142 
143 class DT_DLL_VL DtResupplyReceivedPdu;
144 typedef DtResupplyReceivedPdu DtResupplyRecInteraction;
145 typedef void (*DtResupplyReceivedPduCb)(DtResupplyReceivedPdu *pdu, void *usr);
146 
147 class DT_DLL_VL DtResupplyReceivedPdu : public DtInteraction
148 {
149 public:
150 
151  enum { PduStaticSize=28 };
152 
153 
154 public:
155 
156 
157  DtResupplyReceivedPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
158  DtResupplyReceivedPdu(const DtNetResupplyReceivedPdu *initial,
159  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
160 
161  DtResupplyReceivedPdu(const DtEntityIdentifier &receiver,
162  const DtEntityIdentifier &supplier,
163  const DtEntityType &supply,
164  float quantity,
166 
167  const DtEntityIdentifier &receivingId() const;
168  void setReceivingId(const DtEntityIdentifier &requester);
169 
170  const DtEntityIdentifier &supplyingId() const;
171  void setSupplyingId(const DtEntityIdentifier &servicer);
172 
173  int numSupplyTypes() const;
174  void setNumSupplyTypes(int numTypes);
175 
176  float supplyQuantity(const DtEntityType &supply) const;
177 
178  const DtEntityType &nthSupply(int supplyIndex,
179  float *quantity = 0,
180  int *retCode = 0) const;
181 
182  void setNthSupply(int supplyIndex,
183  const DtEntityType &supply,
184  float quantity,
185  int *retCode = 0);
186 
187  virtual void printData() const;
188  virtual void printDataToStream(std::ostream& stream) const;
189 
190 public:
191 
192  static DtPdu *create(const DtNetPacket *initial,
193  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
194  static void addCallback(DtExerciseConn *conn,
195  DtResupplyReceivedPduCb cb, void *usr);
196  static void removeCallback(DtExerciseConn *conn,
197  DtResupplyReceivedPduCb cb, void *usr);
198 
199 
200 protected:
201 
202  DtPduKind internalGetPduKind() const {return DtResupplyReceivedPduKind;}
203  int indexInBounds(int ind) const;
204  DtEntityIdentifier theId;
205  DtEntityType supType;
206 };
207 
208 #endif

Document ID: Generated on Mon Jun 22 21:18:40 EDT 2020 from SVN revision 213785
Copyright © 2005-2018 MAK Technologies. All Rights Reserved (www.mak.com)