lgrHlaSqlExporter.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 
00009 
00010 #ifndef lgrHlaSqlExporter_H_
00011 #define lgrHlaSqlExporter_H_
00012 
00013 #if DtHLA
00014 
00015 #include "lgrSqlExporter.h"
00016 #include "lgrBaseSqlExporter.h"
00017 
00018 #include <map>
00019 #include <packet.h>
00020 #include <virtualConstructor.h>
00021 
00022 
00023 class DtString;
00024 class DtDatabaseInterface;
00025 
00026 namespace MAKLogger
00027 {
00028 
00029    class DtBaseFomDesc;
00030    class DtLgrHlaDatabasePrinter;
00031    class DtLgrPacketFilter;   
00032    class DtMessageIOInfo;
00033    class DtPacket;
00034 
00035 
00037    class DT_DLL_SQLEXPORTER DtLgrHlaSqlExporter : public DtLgrBaseSqlExporter
00038    {
00039    public:
00040 
00041       DT_VIRTUAL_CTR(DtLgrHlaSqlExporter,())
00042       DT_VIRTUAL_BASE_CTR(DtLgrPacketPrinter,())
00043 
00045       virtual ~DtLgrHlaSqlExporter();
00046 
00047    private:
00049       DtLgrHlaSqlExporter(const DtLgrHlaSqlExporter&);
00051       DtLgrHlaSqlExporter& operator=(const DtLgrHlaSqlExporter&);   
00052 
00053    public:     
00054 
00056       virtual void beginPrinting(const MAKLogger::DtMessageIOInfo* info,
00057          const DtMessageInput* fileInput, const DtString& destination);
00058 
00060       virtual void printPacket( const MAKLogger::DtPacket& packet );
00061 
00063       virtual void endPrinting();
00064 
00065    protected:
00066 
00067       void printCheckpointPacket(const MAKLogger::DtPacket& packet);
00068       void printInteractionPacket(const MAKLogger::DtPacket& packet);
00069       void printUpdatePacket(const MAKLogger::DtPacket& packet);
00070       void printRemovalPacket(const MAKLogger::DtPacket& packet);
00071 
00072       typedef std::list<MAKLogger::DtLgrPacketFilter*> PacketFilterList;
00073 
00074       typedef void (DtLgrHlaSqlExporter::*PacketPrintFunction)(const MAKLogger::DtPacket&);
00075       typedef std::map<MAKLogger::DtPacket::DtPacketType,PacketPrintFunction> PrintFunctionMap;   
00076       PrintFunctionMap myPrintFunctionMap;
00077 
00078       MAKLogger::DtBaseFomDesc* myOutputFom;
00079       DtLgrHlaDatabasePrinter* myDatabasePrinter;
00080    };
00081 
00082 
00083 }
00084 
00085 #endif
00086 
00087 #endif
00088 

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)