11 #ifndef lgrHlaDatabasePrinter_H_
12 #define lgrHlaDatabasePrinter_H_
30 class DtBaseInterClassDesc;
31 class DtConstLgrHlaMessage;
32 class DtLgrHlaCheckpointTableFactory;
33 class DtLgrHlaInteractionTableFactory;
34 class DtLgrHlaObjectTableFactory;
43 DtLgrHlaDatabasePrinter(DtOutputStream& log,
44 const MAKLogger::DtBaseFomDesc& fom,
DtOMTTree* omtTree,
48 virtual ~DtLgrHlaDatabasePrinter();
52 DtLgrHlaDatabasePrinter(
const DtLgrHlaDatabasePrinter&);
53 DtLgrHlaDatabasePrinter& operator=(
const DtLgrHlaDatabasePrinter&);
58 virtual void setUseShortTableNames(
bool shortNames);
61 virtual void setGenerateInstanceTable(
bool generate);
64 virtual void setGenerateCheckpointTable(
bool generate);
67 virtual void setGenerateLargeSubcomponentTables(
bool generate);
71 virtual void setLargeSubcomponentThreshold(
int threshold);
74 virtual void createDefaultTables();
77 virtual void printInteraction(
const MAKLogger::DtConstLgrHlaMessage& hlaMsg);
80 virtual void printUpdate(
const MAKLogger::DtConstLgrHlaMessage& hlaMsg);
86 virtual void printRemoval(
const MAKLogger::DtConstLgrHlaMessage& hlaMsg);
89 virtual void printInitialState(
const MAKLogger::DtConstLgrHlaMessage& hlaMsg);
93 typedef std::set<MAKLogger::DtLgrHlaHandle> InstanceSet;
96 struct InterClassCache
98 const MAKLogger::DtBaseInterClassDesc* classDesc;
106 const MAKLogger::DtBaseObjClassDesc* classDesc;
111 typedef std::map<MAKLogger::DtLgrHlaHandle,InterClassCache>
112 InteractionLookupMap;
114 typedef std::map<MAKLogger::DtLgrHlaHandle,ObjClassCache>
119 void outputToDatabase(
const MAKLogger::DtBaseObjClassDesc& hlaClass,
120 const MAKLogger::DtConstLgrHlaMessage& hlaMsg);
123 InterClassCache& interCache( MAKLogger::DtLgrHlaHandle classHandle );
126 ObjClassCache& objCache(MAKLogger::DtLgrHlaHandle classHandle );
128 MAKLogger::DtBaseFomDesc* myPacketFom;
131 InteractionLookupMap myInteractionLookupMap;
132 InteractionLookupMap::iterator myLastInteractionIter;
133 MAKLogger::DtLgrHlaHandle myLastInteractionHandle;
134 DtLgrHlaInteractionTableFactory* myInteractionTableFac;
135 ObjectLookupMap myObjectLookupMap;
136 ObjectLookupMap::iterator myLastObjectIter;
137 MAKLogger::DtLgrHlaHandle myLastObjectHandle;
138 DtLgrHlaObjectTableFactory* myObjectTableFac;
139 DtLgrHlaCheckpointTableFactory* myCheckpointTableFac;
140 InstanceSet myObjectInstances;
141 bool myGenerateInstanceTable;
142 bool myGenerateCheckpointTable;