File indexing completed on 2024-06-23 04:27:35
0001 /* 0002 * SPDX-FileCopyrightText: 2007 Cyrille Berger <cberger@cberger.net> 0003 * SPDX-FileCopyrightText: 2021 L. E. Segovia <amy@amyspark.me> 0004 * 0005 * SPDX-License-Identifier: LGPL-2.1-or-later 0006 */ 0007 0008 #ifndef _KIS_IPTC_IO_H_ 0009 #define _KIS_IPTC_IO_H_ 0010 0011 #include <klocalizedstring.h> 0012 0013 #include <kis_meta_data_io_backend.h> 0014 0015 class KisIptcIO : public KisMetaData::IOBackend 0016 { 0017 public: 0018 KisIptcIO(); 0019 ~KisIptcIO() override; 0020 QString id() const override 0021 { 0022 return "iptc"; 0023 } 0024 QString name() const override 0025 { 0026 return i18n("Iptc"); 0027 } 0028 BackendType type() const override 0029 { 0030 return Binary; 0031 } 0032 bool supportSaving() const override 0033 { 0034 return true; 0035 } 0036 bool saveTo(const KisMetaData::Store *store, QIODevice *ioDevice, HeaderType headerType = NoHeader) const override; 0037 bool canSaveAllEntries(KisMetaData::Store *store) const override; 0038 bool supportLoading() const override 0039 { 0040 return true; 0041 } 0042 bool loadFrom(KisMetaData::Store *store, QIODevice *ioDevice) const override; 0043 0044 private: 0045 void initMappingsTable() const; 0046 0047 private: 0048 struct Private; 0049 Private *const d; 0050 }; 0051 0052 #endif