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-2025 MAK Technologies, Inc
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;
22 class DtInteractionClassFedNode;
23 class DtOMTTree;
24 class DtObjectClassFedNode;
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  {
99  DtInteractionClassFedNode* fedNode;
101  };
102 
103  //Internal cache data structure.
105  {
107  DtObjectClassFedNode* fedNode;
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 
129  DtOMTTree* myOMTTree;
130  DtDatatypeManager* myDatatypeManager;
132  InteractionLookupMap::iterator myLastInteractionIter;
136  ObjectLookupMap::iterator myLastObjectIter;
143  };
144 
145 }
146 
147 #endif
148 #endif
Class responsible for creating tables and encoding an interaction into that table.
Definition: lgrHlaCheckpointTableFactory.h:20
InstanceSet myObjectInstances
Definition: lgrHlaDatabasePrinter.h:140
DtU32 DtLgrHlaHandle
Logger Psuedo Handle type.
Definition: hlaTimeStampedAttr.h:22
Class responsible for creating tables and encoding an interaction into that table.
Definition: lgrHlaInteractionTableFactory.h:36
DtObjectClassFedNode * fedNode
Definition: lgrHlaDatabasePrinter.h:107
Definition: lgrHlaDatabasePrinter.h:96
#define DT_DLL_SQLEXPORTER
Definition: lgrSqlExporter.h:19
An Fom Object Class descriptions.
Definition: baseObjDesc1516.h:33
DtLgrDatabasePrinter::TableList tables
Definition: lgrHlaDatabasePrinter.h:108
Class responsible for creating tables and encoding an interaction into that table.
Definition: lgrHlaObjectTableFactory.h:37
Definition: hlaPacket.h:75
std::map< MAKLogger::DtLgrHlaHandle, ObjClassCache > ObjectLookupMap
Definition: lgrHlaDatabasePrinter.h:115
InteractionLookupMap myInteractionLookupMap
Definition: lgrHlaDatabasePrinter.h:131
Class responsible for printing HLA messages to a database.
Definition: lgrHlaDatabasePrinter.h:38
ObjectLookupMap::iterator myLastObjectIter
Definition: lgrHlaDatabasePrinter.h:136
Contains MAKLogger::DtLgrHlaHandle typedef and MAKLogger::DtLgrValueReference and MAKLogger::DtLgrVal...
MAKLogger::DtLgrHlaHandle myLastObjectHandle
Definition: lgrHlaDatabasePrinter.h:137
MAKLogger::DtLgrHlaHandle myLastInteractionHandle
Definition: lgrHlaDatabasePrinter.h:133
DtInteractionClassFedNode * fedNode
Definition: lgrHlaDatabasePrinter.h:99
DtDatatypeManager * myDatatypeManager
Definition: lgrHlaDatabasePrinter.h:130
const MAKLogger::DtBaseInterClassDesc * classDesc
Definition: lgrHlaDatabasePrinter.h:98
MAKLogger::DtBaseFomDesc * myPacketFom
Definition: lgrHlaDatabasePrinter.h:128
DtLgrDatabasePrinter::TableList tables
Definition: lgrHlaDatabasePrinter.h:100
std::vector< DtDatabaseTableSP > TableList
Definition: lgrDatabasePrinter.h:42
A generic packed of typed binary data.
Definition: packet.h:41
DtOMTTree * myOMTTree
Definition: lgrHlaDatabasePrinter.h:129
DtLgrHlaObjectTableFactory * myObjectTableFac
Definition: lgrHlaDatabasePrinter.h:138
Definition: lgrDatabasePrinter.h:23
ObjectLookupMap myObjectLookupMap
Definition: lgrHlaDatabasePrinter.h:135
Represents a HLA 1516 Fom Interaction class descriptions.
Definition: baseIntDesc1516.h:33
std::map< MAKLogger::DtLgrHlaHandle, InterClassCache > InteractionLookupMap
Definition: lgrHlaDatabasePrinter.h:112
Contains DtLgrDatabasePrinter class.
const MAKLogger::DtBaseObjClassDesc * classDesc
Definition: lgrHlaDatabasePrinter.h:106
DtDatabaseInterface is an interface object accessing and modifying a database.
Definition: databaseInterface.h:29
InteractionLookupMap::iterator myLastInteractionIter
Definition: lgrHlaDatabasePrinter.h:132
DtLgrHlaCheckpointTableFactory * myCheckpointTableFac
Definition: lgrHlaDatabasePrinter.h:139
DtLgrHlaInteractionTableFactory * myInteractionTableFac
Definition: lgrHlaDatabasePrinter.h:134
std::set< MAKLogger::DtLgrHlaHandle > InstanceSet
Definition: lgrHlaDatabasePrinter.h:93
bool myGenerateCheckpointTable
Definition: lgrHlaDatabasePrinter.h:142
bool myGenerateInstanceTable
Definition: lgrHlaDatabasePrinter.h:141
class DtBaseFomDesc:
Definition: baseFomDesc1516.h:88
Definition: lgrHlaDatabasePrinter.h:104

Document ID: Generated on Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)