view MemoryDBLink.cpp @ 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 aae83c0a771d
children d6fdca3bf24e
line wrap: on
line source

#include "MemoryDBLink.hpp"

#include <QtCore/QStringList>

void MemoryDBLink::addFile(const QString& path, qint64 size, const QDateTime& dtime, const QCryptographicHash& hash)
{
  addFile(DBInfo(path, size, dtime, hash.result()));
}

bool MemoryDBLink::tryAddFile(const DBInfo& dbinfo)
{
  QMap<QString, QSharedPointer<DBInfo> >::iterator pos;
  pos = entries.find(dbinfo.path());
  if (pos == entries.end()) {
    entries.insert(dbinfo.path(), QSharedPointer<DBInfo>(new DBInfo(dbinfo)));
    return true;
  }
  return false;
}

void MemoryDBLink::addFile(const DBInfo& dbinfo)
{
  if (!tryAddFile(dbinfo)) {
    abort(); //Should throw exception
  }
}


QStringList MemoryDBLink::toStringList()
{
  QStringList list;
  foreach(QSharedPointer<DBInfo> info, entries) {
    list << info->serialize();
  }
  return list;
}

const QList<QSharedPointer<FileDBLink::DBInfo> > MemoryDBLink::values() const
{
  return entries.values();
}