00001 /****************************************************************************** 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 00008 00009 #ifndef lgrCheckpointTableFactory_H_ 00010 #define lgrCheckpointTableFactory_H_ 00011 00012 #include "lgrSqlExporter.h" 00013 00014 class DtDatabaseTable; 00015 class DtDatabaseColumn; 00016 class DtOutputStream; 00017 00018 namespace MAKLogger 00019 { 00020 class DtPacket; 00021 00024 class DT_DLL_SQLEXPORTER DtLgrCheckpointTableFactory 00025 { 00026 public: 00027 00029 DtLgrCheckpointTableFactory(); 00030 00032 virtual ~DtLgrCheckpointTableFactory(); 00033 00034 private: 00036 DtLgrCheckpointTableFactory(const DtLgrCheckpointTableFactory&); 00037 DtLgrCheckpointTableFactory& operator=(const DtLgrCheckpointTableFactory&); 00039 public: 00040 00042 DtDatabaseTable& createCheckpointTable(); 00043 00045 DtDatabaseTable& addCheckpoint(const MAKLogger::DtPacket& packet); 00046 00048 void setLog(DtOutputStream& log); 00049 00051 DtOutputStream& log(); 00052 00053 protected: 00054 00055 DtDatabaseColumn* myUniqueIdentifierColumn; 00056 DtDatabaseColumn* myTimeColumn; 00057 DtDatabaseColumn* mySizeColumn; 00058 DtDatabaseTable* myCheckpointTable; 00059 DtOutputStream* myLog; 00060 }; 00061 00062 } 00063 00064 #endif