diff SqliteDBLink.hpp @ 2:2833b7f8884a

Sql backend is working. Need to get more speed on comparisson.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Tue, 21 Aug 2012 14:25:33 +0200
parents
children 5e4985407feb
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SqliteDBLink.hpp	Tue Aug 21 14:25:33 2012 +0200
@@ -0,0 +1,31 @@
+#ifndef SQLITEDBLINK_HPP
+#define SQLITEDBLINK_HPP
+#include "FileDBLink.hpp"
+
+#include <QtCore/QMap>
+#include <QtCore/QSharedPointer>
+
+#include <QtSql/QSqlDatabase>
+
+class SqliteDBLink : public FileDBLink {
+public:
+  SqliteDBLink(const QString& dbpath);
+  ~SqliteDBLink();
+
+  virtual void addFile(const QString& path, qint64 size, const QDateTime& dtime, const QByteArray& hash);
+  virtual void updateFile(const QString& path, qint64 size, const QDateTime& dtime, const QByteArray& hash);
+  bool exists(const QString& path);
+  DBStatus existsWithMtime(const QString& path, const QDateTime& mtime);
+
+  QStringList toStringList();
+  const QList<QSharedPointer<DBInfo> > values(const QString& prefix = QString() ) const;
+
+private:
+  void addFile(const DBInfo& info);
+  bool tryAddFile(const DBInfo& info);
+  void updateFile(const DBInfo& dbinfo);
+
+  QSqlDatabase db;
+};
+
+#endif //MEMORYDBLINK_HPP