MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrHlaDatabasePrinter.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #if DtHLA
10 
11 #ifndef lgrHlaDatabasePrinter_H_
12 #define lgrHlaDatabasePrinter_H_
13 
15 
16 #include <map>
17 #include <set>
18 #include <lgrSim/lgrHlaAttribute.h>
19 
21 class DtDatatypeManager;
23 class DtOMTTree;
25 class DtOutputStream;
26 
27 namespace MAKLogger
28 {
29  class DtBaseFomDesc;
30  class DtBaseInterClassDesc;
31  class DtConstLgrHlaMessage;
32  class DtLgrHlaCheckpointTableFactory;
33  class DtLgrHlaInteractionTableFactory;
34  class DtLgrHlaObjectTableFactory;
35  class DtPacket;
36 
39  {
40  public:
41 
43  DtLgrHlaDatabasePrinter(DtOutputStream& log,
44  const MAKLogger::DtBaseFomDesc& fom, DtOMTTree* omtTree,
45  DtDatabaseInterface& databaseInterface);
46 
48  virtual ~DtLgrHlaDatabasePrinter();
49 
50  private:
55  public:
56 
58  virtual void setUseShortTableNames(bool shortNames);
59 
61  virtual void setGenerateInstanceTable( bool generate);
62 
64  virtual void setGenerateCheckpointTable( bool generate);
65 
67  virtual void setGenerateLargeSubcomponentTables(bool generate);
68 
71  virtual void setLargeSubcomponentThreshold(int threshold);
72 
74  virtual void createDefaultTables();
75 
77  virtual void printInteraction(const MAKLogger::DtConstLgrHlaMessage& hlaMsg);
78 
80  virtual void printUpdate(const MAKLogger::DtConstLgrHlaMessage& hlaMsg);
81 
83  virtual void printCheckpoint(const MAKLogger::DtPacket& packet);
84 
86  virtual void printRemoval(const MAKLogger::DtConstLgrHlaMessage& hlaMsg);
87 
89  virtual void printInitialState(const MAKLogger::DtConstLgrHlaMessage& hlaMsg);
90 
91  protected:
92 
93  typedef std::set<MAKLogger::DtLgrHlaHandle> InstanceSet;
94 
95  //Internal cache data structure.
97  {
101  };
102 
103  //Internal cache data structure.
105  {
109  };
110 
111  typedef std::map<MAKLogger::DtLgrHlaHandle,InterClassCache>
113 
114  typedef std::map<MAKLogger::DtLgrHlaHandle,ObjClassCache>
116 
119  void outputToDatabase(const MAKLogger::DtBaseObjClassDesc& hlaClass,
120  const MAKLogger::DtConstLgrHlaMessage& hlaMsg);
121 
123  InterClassCache& interCache( MAKLogger::DtLgrHlaHandle classHandle );
124 
126  ObjClassCache& objCache(MAKLogger::DtLgrHlaHandle classHandle );
127 
132  InteractionLookupMap::iterator myLastInteractionIter;
136  ObjectLookupMap::iterator myLastObjectIter;
143  };
144 
145 }
146 
147 #endif
148 #endif

Document ID: Generated on Thu Jul 23 15:05:27 EDT 2020 from SVN revision 215371
Copyright © 2020 MAK Technologies. All Rights Reserved (www.mak.com)