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

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)