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 Baloo::File
20 * \inheaderfile Baloo/File
21 * \inmodule Baloo
22 *
23 * \brief Provides access to all File Metadata.
24 *
25 * The File class acts as a temporary container for all the file metadata.
26 */
27class BALOO_CORE_EXPORT File
28{
29public:
30 /*!
31 *
32 */
33 File();
34 File(const File& f);
35
36 /*!
37 * Constructor
38 *
39 * \a url the local url of the file
40 */
41 File(const QString& url);
42 ~File();
43
44 const File& operator =(const File& f);
45
46 /*!
47 * The local url of the file
48 */
49 QString path() const;
50
51 /*!
52 * Gives a variant map of the properties that have been extracted
53 * from the file by the indexer
54 */
55 KFileMetaData::PropertyMultiMap properties() const;
56
57 /*!
58 *
59 */
60 QVariant property(KFileMetaData::Property::Property property) const;
61
62 // FIXME: More descriptive error?
63 /*!
64 *
65 */
66 bool load();
67
68 /*!
69 *
70 */
71 bool load(const QString& url);
72
73private:
74 class Private;
75 std::unique_ptr<Private> const d;
76};
77
78}
79
80#endif // BALOO_FILE_H
81

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