MAK Data Logger API Documentation for DIS
lgrDisStateObject.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef lgrDisStateObject_H_
11 #define lgrDisStateObject_H_
12 
13 #if DtDIS
14 
15 #include "lgrSim.h"
16 #include "stateObject.h"
17 #include "absoluteTime.h"
18 #include <list>
19 
20 struct DtNetPduHeader;
21 
22 namespace MAKLogger
23 {
24 
25  class DtMessageState;
26  class DtLgrDisMessageState;
27 
31  {
32  public:
33 
36 
37  virtual ~DtDisStateObject();
38 
40  virtual DtU64 uniqueId() const;
41 
43  virtual const DtString& name() const;
44 
46  virtual DtU64 packetId(const DtPacket& packet) const;
47 
50  virtual void setPacketId(DtU64,DtPacket&) const;
51 
53  virtual bool packetForMe(const DtPacket&) const;
54 
56  virtual void updateViaPacket(const DtPacket&);
57 
59  virtual DtPacket* createUpdate(const DtAbsoluteTime& time) const;
60 
62  virtual void createUpdate(const DtAbsoluteTime& time, std::list<DtPacket*>& packetlist) const;
63 
65  virtual DtPacket* createRemoval(const DtAbsoluteTime& time) const;
66 
69  virtual bool isEntity() const;
70 
73  virtual bool isAggregate() const;
74 
77  virtual bool isEnvironmentalProcess() const;
78 
79  protected:
80 
82  virtual void copyPacket(const DtPacket& packet,
83  DtNetPduHeader** lastPdu, int& lastPduSize, int& lastBufferSize);
84 
86  virtual void createUpdate(DtNetPduHeader* lastPdu, int lastPduSize,
87  const DtAbsoluteTime& time, std::list<DtPacket*>& packetlist) const;
88 
89  protected:
90 
92  DtNetPduHeader* myLastPdu;
93  DtString myName;
94 
95  DtNetPduHeader* myLastDiGuyAppearancePdu;
96  DtNetPduHeader* myLastDiGuyTypePdu;
97  DtNetPduHeader* myLastDiGuyActionPdu;
98 
107  };
108 
109 }
110 
111 #endif
112 #endif

Document ID: Generated on Thu Apr 10 18:53:01 EDT 2014 from SVN revision 138105
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)