lgrPduDatabaseEncoder.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 
00008 
00009 #ifndef lgrPduDatabaseEncoder_H_
00010 #define lgrPduDatabaseEncoder_H_
00011 
00012 #if DtDIS
00013 
00014 #include "lgrSqlExporter.h"
00015 
00016 #include <databaseTable.h>
00017 #include <vector>
00018 #include <vlutil/vlString.h>
00019 #include <vlpi/disEnums.h>
00020 
00021 class DtDatabaseColumn;
00022 class DtPdu;
00023 
00024 namespace MAKLogger
00025 {
00026    class DtAbsoluteTime;
00027 
00029    class DT_DLL_SQLEXPORTER DtLgrPduDatabaseEncoder
00030    {
00031    public:
00033       DtLgrPduDatabaseEncoder();
00034 
00036       virtual ~DtLgrPduDatabaseEncoder();
00037 
00039       static void bin2HexString(DtString& output,const void* memory,size_t length);
00040 
00041       //@name Override per pdu.
00043 
00045       virtual const DtString& pduName() const = 0;
00046 
00047    protected:
00050       virtual void encodePdu(const DtPdu& pdu,std::vector<DtDatabaseTableSP>& tables) const = 0;
00051 
00052    public:
00055       virtual std::vector<DtDatabaseTableSP> getTableDefinitions() const;
00056 
00058 
00060       void encodeMessage(const MAKLogger::DtAbsoluteTime& arrivalTime,
00061          const DtPdu& pdu, std::vector<DtDatabaseTableSP>& tables) const ;
00062 
00063    protected:
00065       virtual DtDatabaseTable* createDefaultPrimaryTable(const DtString& tableName) const;
00066 
00068       virtual DtDatabaseTable* createSubTable(const DtString& tableName) const ;
00069 
00071       virtual void updateDefaultPrimaryTable(
00072          const MAKLogger::DtAbsoluteTime& arrivalTime, const DtPdu& pdu,
00073          DtDatabaseTableSP table)  const;
00074 
00076       virtual void updateDefaultSubTable(
00077          const MAKLogger::DtAbsoluteTime& arrivalTime, const DtPdu& pdu,
00078          const DtDatabaseTableSP primaryTable,  DtDatabaseTableSP table)  const;
00079 
00080       DtDatabaseColumn* myPrimaryTableIdColumn;
00081       DtDatabaseColumn* myPrimaryTableSizeColumn;
00082       DtDatabaseColumn* myArrivalTimeColumn;
00083       DtDatabaseColumn* myTimeStampColumn;
00084       DtDatabaseColumn* myTimeStampTypeColumn;
00085       DtDatabaseColumn* myExerciseIdColumn;
00086       DtDatabaseColumn* mySubTableArrivalPrimaryIdColumn;
00087 
00088       DtString myAbsoluteTimeStampEnumStr;
00089       DtString myRelativeTimeStampEnumStr;
00090 
00091    };
00092 }
00093 
00094 #endif
00095 #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)