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