lgrHlaPacketPrinter.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
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

Document ID: Generated on Tue Oct 11 19:41:03 EDT 2011 from SVN revision 107422
Copyright © 2005-2011 VT MÄK Inc. All Rights Reserved (www.mak.com)