File indexing completed on 2024-05-05 16:09:03

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