00001 /****************************************************************************** 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 00008 00009 #ifndef lgrBaseSqlExporter_H_ 00010 #define lgrBaseSqlExporter_H_ 00011 00012 #include "lgrSqlExporter.h" 00013 #include <lgrPacketPrinter.h> 00014 00015 class DtOutputStream; 00016 class DtDatabaseInterface; 00017 00018 namespace MAKLogger 00019 { 00020 class DtSqlExportSettings; 00021 00022 class DT_DLL_SQLEXPORTER DtLgrBaseSqlExporter : public MAKLogger::DtLgrPacketPrinter 00023 { 00024 public: 00026 DtLgrBaseSqlExporter(); 00027 00029 virtual ~DtLgrBaseSqlExporter(); 00030 00032 static DtString theExportName(); 00033 00035 DtOutputStream& log() const; 00036 00040 DtDatabaseInterface& db(); 00041 00043 00044 DtSqlExportSettings& settings(); 00045 const DtSqlExportSettings& settings() const; 00047 00048 protected: 00050 void printUnknownPacket(const MAKLogger::DtPacket& packet) const; 00051 00053 virtual bool connectToDatabase(); 00054 00056 virtual bool connectedToDatabase(); 00057 00059 virtual void disconnectFromDatabase(); 00060 00061 private: 00062 DtDatabaseInterface* myDatabaseInterface; 00063 DtSqlExportSettings* mySettings; 00064 int myThreshold; 00065 DtOutputStream* myOutputLog; 00066 }; 00067 00068 } 00069 00070 #endif