Mercurial > dedupe
comparison FileDBLink.hpp @ 64:b9515dc35fe4
Make sure no file has greater linewidth than 80.
| author | Tom Fredrik Blenning Klaussen <bfg@blenning.no> |
|---|---|
| date | Fri, 14 Sep 2012 22:50:45 +0200 |
| parents | 9463c0c22969 |
| children | 1f9e27a0bd7f |
comparison
equal
deleted
inserted
replaced
| 63:dd086ec3220d | 64:b9515dc35fe4 |
|---|---|
| 7 | 7 |
| 8 class FileDBLink { | 8 class FileDBLink { |
| 9 public: | 9 public: |
| 10 class DBInfo { | 10 class DBInfo { |
| 11 public: | 11 public: |
| 12 DBInfo(const QString& path, qint64 size, const QDateTime& mtime, const QByteArray& hash) : path_(path), | 12 DBInfo(const QString& path, qint64 size, |
| 13 size_(size), | 13 const QDateTime& mtime, const QByteArray& hash) : path_(path), |
| 14 mtime_(mtime), | 14 size_(size), |
| 15 hash_(hash) | 15 mtime_(mtime), |
| 16 hash_(hash) | |
| 16 {} | 17 {} |
| 17 DBInfo() {} | 18 DBInfo() {} |
| 18 | 19 |
| 19 virtual ~DBInfo() {} | 20 virtual ~DBInfo() {} |
| 20 | 21 |
| 61 QByteArray hash_; | 62 QByteArray hash_; |
| 62 }; | 63 }; |
| 63 | 64 |
| 64 class ExtendedDBInfo : public DBInfo { | 65 class ExtendedDBInfo : public DBInfo { |
| 65 public: | 66 public: |
| 66 ExtendedDBInfo(const DBInfo& dbinfo, const QString& closestEditPath, int editDistance) : DBInfo(dbinfo), closestEditPath_(closestEditPath), editDistance_(editDistance) {} | 67 ExtendedDBInfo(const DBInfo& dbinfo, |
| 67 ExtendedDBInfo() {} | 68 const QString& closestEditPath, |
| 69 int editDistance) : | |
| 70 DBInfo(dbinfo), | |
| 71 closestEditPath_(closestEditPath), | |
| 72 editDistance_(editDistance) | |
| 73 { | |
| 74 } | |
| 75 ExtendedDBInfo() | |
| 76 { | |
| 77 } | |
| 68 | 78 |
| 69 virtual ~ExtendedDBInfo() {} | 79 virtual ~ExtendedDBInfo() |
| 80 { | |
| 81 } | |
| 70 | 82 |
| 71 virtual QString serialize() const | 83 virtual QString serialize() const |
| 72 { | 84 { |
| 73 QString dist = QString::number(editDistance_); | 85 QString dist = QString::number(editDistance_); |
| 74 QString str = DBInfo::serialize(); | 86 QString str = DBInfo::serialize(); |
| 84 | 96 |
| 85 private: | 97 private: |
| 86 QString closestEditPath_; | 98 QString closestEditPath_; |
| 87 int editDistance_; | 99 int editDistance_; |
| 88 }; | 100 }; |
| 101 typedef QSharedPointer<DBInfo> dbinf_ptr_t; | |
| 89 | 102 |
| 90 static QSharedPointer<DBInfo> computedValue(const QSharedPointer<DBInfo>& info, const QList<QSharedPointer<DBInfo> >&); | 103 static dbinf_ptr_t |
| 104 computedValue(const dbinf_ptr_t& info, | |
| 105 const QList<dbinf_ptr_t >&); | |
| 91 | 106 |
| 92 static QByteArray computeHash(const QString& path, QCryptographicHash::Algorithm = QCryptographicHash::Sha1); | 107 static QByteArray |
| 108 computeHash(const QString& path, | |
| 109 QCryptographicHash::Algorithm = QCryptographicHash::Sha1); | |
| 93 | 110 |
| 94 public: | 111 public: |
| 95 enum DBStatus { NONE = 0, MTIME_DIFFERENT, SAME}; | 112 enum DBStatus { NONE = 0, MTIME_DIFFERENT, SAME}; |
| 96 | 113 |
| 97 virtual ~FileDBLink() {} | 114 virtual ~FileDBLink() {} |
| 98 | 115 |
| 99 void updateIfModified(const QString& path); | 116 void updateIfModified(const QString& path); |
| 100 | 117 |
| 101 virtual void addFile(const QString& path, qint64 size, const QDateTime& dtime, const QByteArray& hash) = 0; | 118 virtual void addFile(const QString& path, qint64 size, |
| 102 virtual void keepOnlyFromPrefix(const QString& prefix, const QStringList& files) = 0; | 119 const QDateTime& dtime, const QByteArray& hash) = 0; |
| 120 virtual void keepOnlyFromPrefix(const QString& prefix, | |
| 121 const QStringList& files) = 0; | |
| 103 virtual void deleteFileFromDB(const QString& path) = 0; | 122 virtual void deleteFileFromDB(const QString& path) = 0; |
| 104 | 123 |
| 105 void addFile(const QString& path, qint64 size, const QDateTime& dtime); | 124 void addFile(const QString& path, qint64 size, const QDateTime& dtime); |
| 106 void addFile(const QFileInfo& fileinfo); | 125 void addFile(const QFileInfo& fileinfo); |
| 107 | 126 |
| 108 virtual void updateFile(const QString& path, qint64 size, const QDateTime& dtime, const QByteArray& hash) = 0; | 127 virtual void updateFile(const QString& path, qint64 size, |
| 128 const QDateTime& dtime, const QByteArray& hash) = 0; | |
| 109 void updateFile(const QString& path, qint64 size, const QDateTime& dtime); | 129 void updateFile(const QString& path, qint64 size, const QDateTime& dtime); |
| 110 void updateFile(const QFileInfo& fileinfo); | 130 void updateFile(const QFileInfo& fileinfo); |
| 111 | 131 |
| 112 virtual bool exists(const QString& path) = 0; | 132 virtual bool exists(const QString& path) = 0; |
| 113 virtual DBStatus existsWithMtime(const QString& path, const QDateTime& mtime) = 0; | 133 virtual DBStatus existsWithMtime(const QString& path, |
| 134 const QDateTime& mtime) = 0; | |
| 114 | 135 |
| 115 virtual const QList<QSharedPointer<DBInfo> > values(const QString& prefix = QString() ) const = 0; | 136 virtual const QList<dbinf_ptr_t> |
| 116 virtual const QList<QSharedPointer<DBInfo> > computedValues(const QString& prefix = QString() ) const; | 137 values(const QString& prefix = QString() ) const = 0; |
| 138 | |
| 139 virtual const QList<dbinf_ptr_t> | |
| 140 computedValues(const QString& prefix = QString() ) const; | |
| 117 | 141 |
| 118 enum SORTORDER { PATH, SIZE, MTIME, CHECKSUM, EDIT }; | 142 enum SORTORDER { PATH, SIZE, MTIME, CHECKSUM, EDIT }; |
| 119 | 143 |
| 120 virtual const QList<QSharedPointer<DBInfo> > sortOn(const QString& prefix, SORTORDER order, bool extended = false); | 144 virtual const QList<dbinf_ptr_t> |
| 145 sortOn(const QString& prefix, SORTORDER order, bool extended = false); | |
| 121 }; | 146 }; |
| 122 | 147 |
| 123 #endif //FILEDBLINK | 148 #endif //FILEDBLINK |
