view SqliteDBLink.hpp @ 61:e5fa379d4030

Clean up headers.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Fri, 14 Sep 2012 20:41:35 +0200
parents 5e4985407feb
children b9515dc35fe4
line wrap: on
line source

#ifndef SQLITEDBLINK_HPP
#define SQLITEDBLINK_HPP
#include "FileDBLink.hpp"

#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;
  virtual void keepOnlyFromPrefix(const QString& prefix, const QStringList& files);
  virtual void deleteFileFromDB(const QString& path);

private:
  void addFile(const DBInfo& info);
  bool tryAddFile(const DBInfo& info);
  void updateFile(const DBInfo& dbinfo);

  QSqlDatabase db;
};

#endif //MEMORYDBLINK_HPP