MAK Data Logger API Documentation for DIS
hlaMessageState.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 hlaMessageState_H_
11 #define hlaMessageState_H_
12 
13 #if DtHLA
14 
15 #include "lgrSim.h"
16 #include "messageState.h"
17 #include "lgrHlaAttribute.h"
18 #include <vl/rtiNamespace.h>
19 #include <list>
20 #include <string>
21 #include <set>
22 
23 class DtHlaObject;
24 
25 namespace MAKLogger
26 {
27  class DtBaseFomDesc;
28  class DtLgrHlaSimulationManager;
29 
32  class DT_DLL_LGRSIM DtLgrHlaMessageState : public DtMessageState
33  {
34  public:
35  DtLgrHlaMessageState();
36 
37  virtual ~DtLgrHlaMessageState();
38 
41  virtual void setInputInfo(const DtMessageIOInfo* info);
42  virtual void setOutputInfo(const DtMessageIOInfo* info);
43 
46  virtual void modifyMessages(DtMessageBuffer& messages);
47 
53  virtual void modifyMessage(DtPacket& packet);
54 
56  void decodeCheckpoint(const DtPacket& packet,DtMessageBuffer& buffer);
57 
60  virtual DtPacket* generateCheckpoint(const DtAbsoluteTime& timestamp);
61 
62  virtual bool isUpdateMessage(const DtPacket& packet) const;
63  virtual bool isRemovalMessage(const DtPacket& packet) const;
64 
65  virtual void createUpdate(DtStateObject& object, const DtAbsoluteTime& time,
66  std::list<DtPacket*>& packetlist);
67 
68  virtual DtPacket* createRemoval(DtStateObject& object,
69  const DtAbsoluteTime& time);
70 
71  virtual void setInputFom(const DtBaseFomDesc* inputFom);
72  virtual void setOutputFom(const DtBaseFomDesc* outputFom);
73 
76  virtual DtStateObject* findObject(DtHlaObject* object);
77 
78 
79  inline const DtBaseFomDesc* inputFom() const {return myInputFom;}
80  inline const DtBaseFomDesc* outputFom() const {return myOutputFom;}
81 
83  DtLgrHlaHandle mapObjectHandleInputToOutput(DtLgrHlaHandle handle) const;
84 
86  DtLgrHlaHandle mapObjectHandleOutputToInput(DtLgrHlaHandle handle) const;
87 
89  DtLgrHlaHandle mapInteractionHandleInputToOutput(DtLgrHlaHandle handle) const;
90 
91  protected:
92 
93  virtual void printMappingFailure(const std::string& classname, const std::string& message);
94 
95  virtual void activateState();
96  virtual void deactivateState();
97 
99  DtLgrHlaMessageState(const DtLgrHlaMessageState&);
100 
102  DtLgrHlaMessageState& operator=(const DtLgrHlaMessageState&);
103 
104  virtual bool mapMessageHandles(DtPacket* packet);
105 
106  const DtBaseFomDesc* myInputFom;
107  const DtBaseFomDesc* myOutputFom;
108 
109  typedef std::map<DtLgrHlaHandle,DtLgrHlaHandle> HandleMap;
110 
111  mutable HandleMap myObjectHandleMap;
112  mutable HandleMap myReverseObjectHandleMap;
113  mutable HandleMap myInteractionHandleMap;
114 
115  std::set<std::string> myPrintedMappingFailures;
116  };
117 
118 }
119 
120 #endif
121 #endif

Document ID: Generated on Thu Apr 11 12:13:00 EDT 2013 from SVN revision 126011
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)