12 #ifndef lgrDisPacketPrinter_H_
13 #define lgrDisPacketPrinter_H_
20 #include <vlutil/vlTime.h>
22 class DtDisPduFactory;
27 class DtLgrFileFormatter;
30 class DT_DLL_LGRDUMP DtLgrDisPacketPrinter :
public DtLgrPacketPrinter
38 virtual ~DtLgrDisPacketPrinter();
42 DtLgrDisPacketPrinter(
const DtLgrDisPacketPrinter&);
44 DtLgrDisPacketPrinter& operator=(
const DtLgrDisPacketPrinter&);
49 virtual void beginPrinting(
const DtMessageIOInfo* info,
50 const DtMessageInput* msgInput,
const DtString& destination);
53 virtual void printPacket(
const DtPacket& packet );
56 virtual void endPrinting();
61 std::ofstream& outputStream();
64 virtual void printPacketHeader(
const DtPacket& packet);
67 virtual void printPacketTail(
const DtPacket& packet);
70 void printOtherPacket(
const DtPacket& packet);
73 void printConfigPacket(
const DtPacket& packet);
76 void printDateTimePacket(
const DtPacket& packet);
79 void printCheckpointPacket(
const DtPacket& packet);
82 void printIndexTablePacket(
const DtPacket& packet);
85 void printRecordingDataPacket(
const DtPacket& packet);
88 void printStartEndTimePacket(
const DtPacket& packet);
91 void printDescriptionPacket(
const DtPacket& packet);
94 void printEntityTablePacket(
const DtPacket& packet);
97 void printPausePacket(
const DtPacket& packet);
100 void printUnpausePacket(
const DtPacket& packet);
103 void printPduPacket(
const DtPacket& packet);
107 typedef void (DtLgrDisPacketPrinter::*PacketPrintFunction)(
const DtPacket&);
108 typedef std::map<DtPacket::DtPacketType,PacketPrintFunction> PrintFunctionMap;
110 DtDisPduFactory* myPduFactory;
114 int myCheckpointCount;
117 const DtLgrFileFormatter* myFormatter;
120 PrintFunctionMap myPrintFunctionMap;
121 std::ofstream* myOutputFile;
124 DtTime myFileDateTime;
127 DtMessageBuffer myEndMetadata;
130 DtTime myUnpauseTime;