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);
90 typedef std::set<MAKLogger::DtLgrHlaHandle> InstanceSet;
93 struct InterClassCache
95 const MAKLogger::DtBaseInterClassDesc* classDesc;
103 const MAKLogger::DtBaseObjClassDesc* classDesc;
108 typedef std::map<MAKLogger::DtLgrHlaHandle,InterClassCache>
109 InteractionLookupMap;
111 typedef std::map<MAKLogger::DtLgrHlaHandle,ObjClassCache>
116 void outputToDatabase(
const MAKLogger::DtBaseObjClassDesc& hlaClass,
117 const MAKLogger::DtConstLgrHlaMessage& hlaMsg);
120 InterClassCache& interCache( MAKLogger::DtLgrHlaHandle classHandle );
123 ObjClassCache& objCache(MAKLogger::DtLgrHlaHandle classHandle );
125 MAKLogger::DtBaseFomDesc* myPacketFom;
128 InteractionLookupMap myInteractionLookupMap;
129 InteractionLookupMap::iterator myLastInteractionIter;
130 MAKLogger::DtLgrHlaHandle myLastInteractionHandle;
131 DtLgrHlaInteractionTableFactory* myInteractionTableFac;
132 ObjectLookupMap myObjectLookupMap;
133 ObjectLookupMap::iterator myLastObjectIter;
134 MAKLogger::DtLgrHlaHandle myLastObjectHandle;
135 DtLgrHlaObjectTableFactory* myObjectTableFac;
136 DtLgrHlaCheckpointTableFactory* myCheckpointTableFac;
137 InstanceSet myObjectInstances;
138 bool myGenerateInstanceTable;
139 bool myGenerateCheckpointTable;