MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrDisMessageState.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 lgrDisMessageState_H_
11 #define lgrDisMessageState_H_
12 
13 #if DtDIS
14 
15 #include <lgrSim/lgrSim.h>
16 #include <lgrCore/messageState.h>
18 #include <lgrUtil/memoryBuffer.h>
19 
20 #include <list>
21 #include <set>
22 #include <vlpi/disEnums.h>
23 
24 enum DtPduKind;
25 
26 namespace MAKLogger
27 {
28 
29  class DtLgrDisSimulationManager;
30 
33  class DT_DLL_LGRSIM DtLgrDisMessageState : public DtMessageState
34  {
35  public:
36 
37  typedef std::set<DtPduKind> DtPduKindSet;
38 
39  DT_VIRTUAL_CTR_DEFAULTS( DtLgrDisMessageState,
40  (const DtPduKindSet& statePduKinds, const DtLgrDisSimulationManager* simMgr),
41  (const DtPduKindSet& statePduKinds, const DtLgrDisSimulationManager* simMgr=0))
42 
43  virtual ~DtLgrDisMessageState();
44 
47  virtual void modifyMessages(DtMessageBuffer& messages) const;
48 
50  virtual void modifyMessage(DtPacket& packet) const;
51 
53  virtual void decodeCheckpoint(const DtPacket& packet, DtMessageBuffer& messageBuffer,
54  bool includeInteractions);
55 
57  virtual void decodeLinkedCheckpoint(const DtPacket& packet, DtMessageBuffer& messageBuffer,
58  bool includeInteractions);
59 
62  virtual DtPacket* generateCheckpoint(const DtAbsoluteTime& timestampe,bool includeInteractions);
63 
65  virtual bool isUpdateMessage(const DtPacket& packet) const;
66 
68  virtual bool isUpdateMessage(DtPduKind pduKind) const;
69 
71  virtual bool isRemovalMessage(const DtPacket& packet) const;
72 
74  virtual bool isInteractionMessage(const DtPacket& packet) const;
75 
77  virtual bool isInteractionMessage(DtPduKind pduKind) const;
78 
80  virtual void createUpdate(const DtStateObject& object,const DtAbsoluteTime& time, std::list<DtPacket*>& packetlist) const;
81 
83  virtual DtPacket* createRemoval(const DtStateObject& object,const DtAbsoluteTime& time) const;
84 
85  virtual void setInputVersion(int disVersion);
86  virtual void setOutputVersion(int disVersion);
87 
88  protected:
89 
91  virtual void decodeCheckpoint(const char* checkpointBuffer, size_t bufferSize, DtAbsoluteTime time,
92  DtMessageBuffer& messageBuffer, bool includeInteractions);
93 
95  DtLgrDisMessageState(const DtLgrDisMessageState&);
96 
98  DtLgrDisMessageState& operator=(const DtLgrDisMessageState&);
99 
100  virtual void activateState();
101  virtual void deactivateState();
102 
103  protected:
104 
105  DtPduKindSet myStatePduKinds;
106 
107  int myInputVersion;
108  int myOutputVersion;
109  };
110 
111 }
112 
113 #endif
114 #endif

Document ID: Generated on Thu Apr 7 20:50:59 EDT 2016 from SVN revision 163818
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)