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 
88  protected:
89 
90  typedef std::set<MAKLogger::DtLgrHlaHandle> InstanceSet;
91 
92  //Internal cache data structure.
94  {
98  };
99 
100  //Internal cache data structure.
102  {
106  };
107 
108  typedef std::map<MAKLogger::DtLgrHlaHandle,InterClassCache>
110 
111  typedef std::map<MAKLogger::DtLgrHlaHandle,ObjClassCache>
113 
116  void outputToDatabase(const MAKLogger::DtBaseObjClassDesc& hlaClass,
117  const MAKLogger::DtConstLgrHlaMessage& hlaMsg);
118 
120  InterClassCache& interCache( MAKLogger::DtLgrHlaHandle classHandle );
121 
123  ObjClassCache& objCache(MAKLogger::DtLgrHlaHandle classHandle );
124 
129  InteractionLookupMap::iterator myLastInteractionIter;
133  ObjectLookupMap::iterator myLastObjectIter;
140  };
141 
142 }
143 
144 #endif
145 #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)