1/*
2 This file is part of the KFileMetaData project
3 SPDX-FileCopyrightText: 2016 Varun Joshi <varunj.1011@gmail.com>
4 SPDX-FileCopyrightText: 2016 Vishesh Handa <me@vhanda.in>
5
6 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
7*/
8
9#ifndef _KFILEMETADATA_WRITEDATA_H
10#define _KFILEMETADATA_WRITEDATA_H
11
12#include "kfilemetadata_export.h"
13
14#include <QString>
15#include <QMultiMap>
16#include <QVariant>
17
18#include "embeddedimagedata.h"
19#include "properties.h"
20#include "types.h"
21
22namespace KFileMetaData {
23class WriteDataPrivate;
24/*!
25 * \class KFileMetaData::WriteData
26 * \inheaderfile FileMetaData/WriteData
27 * \inmodule KFileMetaData
28 *
29 * \brief The WriteData class stores all the data to be written to a file.
30 */
31class KFILEMETADATA_EXPORT WriteData
32{
33public:
34 /*!
35 *
36 */
37 WriteData(const QString& url, const QString& mimetype);
38 WriteData(const WriteData& rhs);
39 virtual ~WriteData();
40 WriteData& operator=(const WriteData& rhs);
41
42 /*!
43 *
44 */
45 bool operator==(const WriteData& rhs) const;
46
47 /*!
48 *
49 */
50 QString inputUrl() const;
51
52 /*!
53 *
54 */
55 QString inputMimetype() const;
56
57 /*!
58 *
59 */
60 void add(Property::Property property, const QVariant& value);
61
62 /*!
63 *
64 */
65 void addImageData(const QMap<EmbeddedImageData::ImageType, QByteArray>& images);
66
67 /*!
68 * \since 5.89
69 */
70 PropertyMultiMap properties() const;
71
72 /*!
73 *
74 */
75 QMap<EmbeddedImageData::ImageType, QByteArray> imageData() const;
76
77private:
78 std::unique_ptr<WriteDataPrivate> d_ptr;
79 Q_DECLARE_PRIVATE(WriteData)
80};
81}
82
83#endif // _KFILEMETADATA_WRITEDATA_H
84

source code of kfilemetadata/src/writedata.h