VR-Link API Documentation for DIS
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 
26 typedef void (*DtResupplyCancelPduCb)(DtResupplyCancelPdu *pdu, void *usr);
27 
29 {
30 public:
31 
32  enum { PduStaticSize=24 };
33 
34 public:
35 
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 
68 
69 };
70 
71 /*******************************************************/
72 /******************* RESUPPLY OFFER PDU ****************/
73 /*******************************************************/
74 
75 #define DtSUPPLY_VALID 1
76 #define DtSUPPLY_BAD_INDEX 0
77 
80 typedef void (*DtResupplyOfferPduCb)(DtResupplyOfferPdu *pdu, void *usr);
81 
83 {
84 public:
85 
86  enum { PduStaticSize=28 };
87 
88 public:
89 
90 
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 
135  int indexInBounds(int ind) const;
138 };
139 
140 /*******************************************************/
141 /******************* RESUPPLY RECEIVED PDU *************/
142 /*******************************************************/
143 
146 typedef void (*DtResupplyReceivedPduCb)(DtResupplyReceivedPdu *pdu, void *usr);
147 
149 {
150 public:
151 
152  enum { PduStaticSize=28 };
153 
154 
155 public:
156 
157 
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 
204  int indexInBounds(int ind) const;
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)