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 | |
22 | namespace KFileMetaData { |
23 | class 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 | */ |
31 | class KFILEMETADATA_EXPORT WriteData |
32 | { |
33 | public: |
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 | |
77 | private: |
78 | std::unique_ptr<WriteDataPrivate> d_ptr; |
79 | Q_DECLARE_PRIVATE(WriteData) |
80 | }; |
81 | } |
82 | |
83 | #endif // _KFILEMETADATA_WRITEDATA_H |
84 | |