Go to the documentation of this file.00001
00002
00003
00004
00005
00009
00010 #if DtHLA
00011
00012 #ifndef lgrHlaPacketPrinter_H_
00013 #define lgrHlaPacketPrinter_H_
00014
00015 #include "lgrDump.h"
00016
00017 #include <lgrPacketPrinter.h>
00018 #include <hlaMessageFactory.h>
00019 #include <messageBuffer.h>
00020
00021 class DtInteractionFactory;
00022 namespace MAKLogger
00023 {
00024 class DtBaseFomDesc;
00025 class DtPacket;
00026 class DtLogger;
00027
00029 class DT_DLL_LGRDUMP DtLgrHlaPacketPrinter : public DtLgrPacketPrinter
00030 {
00031 public:
00032
00034 DT_VIRTUAL_CTR(DtLgrHlaPacketPrinter,(DtLogger& logger,bool raw))
00035
00036
00037 DT_VIRTUAL_BASE_CTR(DtLgrPacketPrinter,(DtLogger& logger,bool raw))
00038
00039
00040 virtual ~DtLgrHlaPacketPrinter();
00041
00042 private:
00044 DtLgrHlaPacketPrinter(const DtLgrHlaPacketPrinter&);
00046 DtLgrHlaPacketPrinter& operator=(const DtLgrHlaPacketPrinter&);
00047
00048 public:
00049
00051 virtual void beginPrinting(const DtMessageIOInfo* info,
00052 const DtMessageInput* msgInput, const DtString& destination);
00053
00055 virtual void printPacket( const DtPacket& packet );
00056
00058 virtual void endPrinting();
00059
00060 protected:
00061
00063 std::ofstream& outputStream();
00064
00066 virtual void printPacketHeader(const DtPacket& packet);
00067
00069 virtual void printPacketTail(const DtPacket& packet);
00070
00072 void printOtherPacket(const DtPacket& packet);
00073
00075 void printFomPacket(const DtPacket& packet);
00076
00078 void printConfigPacket(const DtPacket& packet);
00079
00081 void printDateTimePacket(const DtPacket& packet);
00082
00084 void printCheckpointPacket(const DtPacket& packet);
00085
00087 void printIndexTablePacket(const DtPacket& packet);
00088
00090 void printRecordingDataPacket(const DtPacket& packet);
00091
00093 void printEntityTablePacket(const DtPacket& packet);
00094
00096 void printRegionDescriptorSet(const DtRegionDescSet& regionSet);
00097
00099 void printInteractionPacket(const DtPacket& packet);
00100
00102 void printUpdatePacket(const DtPacket& packet);
00103
00105 void printRemovalPacket( const DtPacket& packet );
00106
00108 void printPausePacket(const DtPacket& packet);
00109
00111 void printUnpausePacket(const DtPacket& packet);
00112
00114 typedef void (DtLgrHlaPacketPrinter::*PacketPrintFunction)(const DtPacket&);
00116 typedef std::map<DtPacket::DtPacketType,PacketPrintFunction> PrintFunctionMap;
00117
00118 protected:
00119
00121 int myPacketCount;
00122
00124 int myCheckpointCount;
00125
00127 int myInteractionCount;
00128
00130 int myUpdateCount;
00131
00133 int myRemovalCount;
00134
00136 bool myPrintRawData;
00137
00139 PrintFunctionMap myPrintFunctionMap;
00140
00142 std::ofstream* myOutputFile;
00143
00145 DtLogger* myLogger;
00146
00148 DtBaseFomDesc* myOutputFom;
00149
00151 DtTime myFileDateTime;
00152
00154 DtTime myUnpauseTime;
00155
00157 DtMessageBuffer myEndMetadata;
00158
00159 };
00160 }
00161
00162 #endif
00163 #endif