File indexing completed on 2025-02-16 13:03:42
0001 /* 0002 This file is part of the KFileMetaData project 0003 SPDX-FileCopyrightText: 2016 Varun Joshi <varunj.1011@gmail.com> 0004 SPDX-FileCopyrightText: 2016 Vishesh Handa <me@vhanda.in> 0005 0006 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #ifndef _KFILEMETADATA_WRITEDATA_H 0010 #define _KFILEMETADATA_WRITEDATA_H 0011 0012 #include "kfilemetadata_export.h" 0013 0014 #include <QString> 0015 #include <QMultiMap> 0016 #include <QVariant> 0017 0018 #include "embeddedimagedata.h" 0019 #include "properties.h" 0020 #include "types.h" 0021 0022 namespace KFileMetaData { 0023 class WriteDataPrivate; 0024 /** 0025 * \class WriteData writedata.h <KFileMetaData/WriteData> 0026 */ 0027 class KFILEMETADATA_EXPORT WriteData 0028 { 0029 public: 0030 WriteData(const QString& url, const QString& mimetype); 0031 WriteData(const WriteData& rhs); 0032 virtual ~WriteData(); 0033 WriteData& operator=(const WriteData& rhs); 0034 bool operator==(const WriteData& rhs) const; 0035 0036 QString inputUrl() const; 0037 0038 QString inputMimetype() const; 0039 0040 void add(Property::Property property, const QVariant& value); 0041 void addImageData(const QMap<EmbeddedImageData::ImageType, QByteArray>& images); 0042 0043 /// @since 5.89 0044 PropertyMultiMap properties() const; 0045 0046 #if KFILEMETADATA_ENABLE_DEPRECATED_SINCE(5, 89) 0047 /// @seprecated Since 5.89, use properties() instead 0048 KFILEMETADATA_DEPRECATED_VERSION(5, 89, "Use properties() instead") 0049 QMap<Property::Property, QVariant> getAllProperties() const; 0050 #endif 0051 0052 QMap<EmbeddedImageData::ImageType, QByteArray> imageData() const; 0053 0054 private: 0055 std::unique_ptr<WriteDataPrivate> d_ptr; 0056 Q_DECLARE_PRIVATE(WriteData) 0057 }; 0058 } 0059 0060 #endif // _KFILEMETADATA_WRITEDATA_H