00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef ADATEXCHANGE_H
00032 #define ADATEXCHANGE_H
00033
00034 #include "qdom.h"
00035 #include "qstringlist.h"
00036 #include "ananas.h"
00037 #include <qobject.h>
00038
00039
00040 class aDatabase;
00041
00052 class ANANAS_EXPORT aBackup: public QObject
00053 {
00054 Q_OBJECT
00055 public:
00056
00057 aBackup();
00058 virtual ~aBackup();
00059
00060 virtual bool importData(const QString& rcfile, const QString &archfile, bool dropDB, bool replaceTemplates=0);
00061 virtual bool exportData(const QString& rcfile, const QString &archfile, bool withTemplates=0 );
00062 virtual QString lastError() const;
00063
00064 signals:
00065 void progress(int,int);
00066
00067 protected:
00068 virtual void setLastError(const QString & errorText);
00069 virtual bool unzipArchive(const QString& archName, const QString& tmpDirName);
00070 virtual bool zipArchive(const QString& archName, const QString& tmpDirName);
00071 virtual bool checkStructure();
00072 virtual QDomDocument createManifest(const QStringList& templates);
00073 virtual void changeRC(const QString& nameRC, const QString& newConfigName);
00074 virtual bool dumpBase(const QString& rcfile, const QString& tmpDirName, int &progress, int totalSteps);
00075 virtual bool writeXml(const QString & fileName, QDomDocument xml);
00076 void cleanupTmpFiles(const QString& tmpDirName, QStringList *files);
00077
00078 private:
00079 QString txtError;
00080
00081
00082 };
00083
00084 #endif //ADATEXCHANGE_H