1/*
2 This file is part of the KDE Baloo Project
3 SPDX-FileCopyrightText: 2013 Vishesh Handa <me@vhanda.in>
4
5 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
6*/
7
8#ifndef BALOO_FILE_H
9#define BALOO_FILE_H
10
11#include "core_export.h"
12#include <KFileMetaData/Properties>
13
14#include <memory>
15
16namespace Baloo {
17
18/**
19 * @class File file.h <Baloo/File>
20 *
21 * @short Provides access to all File Metadata
22 *
23 * The File class acts as a temporary container for all the file metadata.
24 */
25class BALOO_CORE_EXPORT File
26{
27public:
28 File();
29 File(const File& f);
30
31 /**
32 * Constructor
33 *
34 * \p url the local url of the file
35 */
36 File(const QString& url);
37 ~File();
38
39 const File& operator =(const File& f);
40
41 /**
42 * The local url of the file
43 */
44 QString path() const;
45
46 /**
47 * Gives a variant map of the properties that have been extracted
48 * from the file by the indexer
49 */
50 KFileMetaData::PropertyMultiMap properties() const;
51 QVariant property(KFileMetaData::Property::Property property) const;
52
53 // FIXME: More descriptive error?
54 bool load();
55 bool load(const QString& url);
56
57private:
58 class Private;
59 std::unique_ptr<Private> const d;
60};
61
62}
63
64#endif // BALOO_FILE_H
65

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