1/*
2 This file is part of the KDE Baloo Project
3 SPDX-FileCopyrightText: 2014 Vishesh Handa <me@vhanda.in>
4
5 SPDX-License-Identifier: LGPL-2.1-or-later
6*/
7
8#ifndef BALOO_PENDINGFILE_H
9#define BALOO_PENDINGFILE_H
10
11#include <QString>
12#include <QObject>
13
14namespace Baloo {
15
16/**
17 * Represents a file which needs to be indexed.
18 */
19class PendingFile
20{
21public:
22 explicit PendingFile(const QString& path);
23
24 QString path() const;
25
26 void setAttributeChanged() { m_attributesChanged = true; }
27 void setClosedOnWrite() { m_closedOnWrite = true; }
28 void setModified() { m_modified = true; }
29 void setCreated() { m_created = true; }
30 void setDeleted() { m_deleted = true; }
31
32 bool isNewFile() const;
33 bool shouldIndexContents() const;
34 bool shouldIndexXAttrOnly() const;
35 bool shouldRemoveIndex() const;
36
37 bool operator == (const PendingFile& rhs) const {
38 return m_path == rhs.m_path;
39 }
40
41 /**
42 * Takes a PendingFile \p file and merges its flags into
43 * the current PendingFile
44 */
45 void merge(const PendingFile& file);
46
47private:
48 QString m_path;
49
50 bool m_created : 1;
51 bool m_closedOnWrite : 1;
52 bool m_attributesChanged : 1;
53 bool m_deleted : 1;
54 bool m_modified : 1;
55
56 void printFlags() const;
57};
58
59}
60
61Q_DECLARE_TYPEINFO(Baloo::PendingFile, Q_RELOCATABLE_TYPE);
62
63#endif // BALOO_PENDINGFILE_H
64

source code of baloo/src/file/pendingfile.h