12 #ifndef lgrHlaPacketPrinter_H_
13 #define lgrHlaPacketPrinter_H_
21 class DtInteractionFactory;
27 class DtLgrFileFormatter;
30 class DT_DLL_LGRDUMP DtLgrHlaPacketPrinter :
public DtLgrPacketPrinter
41 virtual ~DtLgrHlaPacketPrinter();
45 DtLgrHlaPacketPrinter(
const DtLgrHlaPacketPrinter&);
47 DtLgrHlaPacketPrinter& operator=(
const DtLgrHlaPacketPrinter&);
52 virtual void beginPrinting(
const DtMessageIOInfo* info,
53 const DtMessageInput* msgInput,
const DtString& destination);
56 virtual void printPacket(
const DtPacket& packet );
59 virtual void endPrinting();
64 std::ofstream& outputStream();
67 virtual void printPacketHeader(
const DtPacket& packet);
70 virtual void printPacketTail(
const DtPacket& packet);
73 void printOtherPacket(
const DtPacket& packet);
76 void printFomPacket(
const DtPacket& packet);
79 void printConfigPacket(
const DtPacket& packet);
82 void printDateTimePacket(
const DtPacket& packet);
85 void printCheckpointPacket(
const DtPacket& packet);
88 void printIndexTablePacket(
const DtPacket& packet);
91 void printRecordingDataPacket(
const DtPacket& packet);
94 void printStartEndTimePacket(
const DtPacket& packet);
97 void printDescriptionPacket(
const DtPacket& packet);
100 void printEntityTablePacket(
const DtPacket& packet);
103 void printRegionDescriptorSet(
const DtRegionDescSet& regionSet);
106 void printInteractionPacket(
const DtPacket& packet);
109 void printInteractionPacketData(
const DtPacket& packet,
bool printTag );
112 void printUpdatePacket(
const DtPacket& packet);
115 void printUpdatePacketData(
const DtPacket& packet,
bool printTag );
118 void printRemovalPacket(
const DtPacket& packet );
121 void printPausePacket(
const DtPacket& packet);
124 void printUnpausePacket(
const DtPacket& packet);
127 typedef void (DtLgrHlaPacketPrinter::*PacketPrintFunction)(
const DtPacket&);
129 typedef std::map<DtPacket::DtPacketType,PacketPrintFunction> PrintFunctionMap;
137 int myCheckpointCount;
140 int myInteractionCount;
152 PrintFunctionMap myPrintFunctionMap;
155 std::ofstream* myOutputFile;
161 DtBaseFomDesc* myOutputFom;
164 const DtLgrFileFormatter* myFormatter;
167 DtTime myFileDateTime;
170 DtTime myUnpauseTime;
173 DtMessageBuffer myEndMetadata;