annotate SqliteDBLink.hpp @ 5:5e4985407feb

Add commandline tool updateDeDupe. Fix removal of removed files from DB.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Wed, 22 Aug 2012 00:41:15 +0200
parents 2833b7f8884a
children e5fa379d4030
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
1 #ifndef SQLITEDBLINK_HPP
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
2 #define SQLITEDBLINK_HPP
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
3 #include "FileDBLink.hpp"
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
4
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
5 #include <QtCore/QMap>
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
6 #include <QtCore/QSharedPointer>
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
7
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
8 #include <QtSql/QSqlDatabase>
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
9
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
10 class SqliteDBLink : public FileDBLink {
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
11 public:
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
12 SqliteDBLink(const QString& dbpath);
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
13 ~SqliteDBLink();
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
14
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
15 virtual void addFile(const QString& path, qint64 size, const QDateTime& dtime, const QByteArray& hash);
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
16 virtual void updateFile(const QString& path, qint64 size, const QDateTime& dtime, const QByteArray& hash);
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
17 bool exists(const QString& path);
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
18 DBStatus existsWithMtime(const QString& path, const QDateTime& mtime);
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
19
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
20 QStringList toStringList();
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
21 const QList<QSharedPointer<DBInfo> > values(const QString& prefix = QString() ) const;
5
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 2
diff changeset
22 virtual void keepOnlyFromPrefix(const QString& prefix, const QStringList& files);
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 2
diff changeset
23 virtual void deleteFileFromDB(const QString& path);
2
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
24
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
25 private:
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
26 void addFile(const DBInfo& info);
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
27 bool tryAddFile(const DBInfo& info);
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
28 void updateFile(const DBInfo& dbinfo);
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
29
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
30 QSqlDatabase db;
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
31 };
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
32
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
33 #endif //MEMORYDBLINK_HPP