diff options
| author | Daniel Vrátil <dvratil@kde.org> | 2017-04-01 15:21:13 (GMT) |
|---|---|---|
| committer | Daniel Vrátil <dvratil@kde.org> | 2017-04-01 15:21:13 (GMT) |
| commit | 9a0e50db1c0696b1d920610ff239146cf04cf88a (patch) | |
| tree | e62bcc9526c16143c5ffc91f20c0444ed2441ed6 | |
| parent | 62834836717db4864052fefac922a297f961cc6b (diff) | |
ABI break: merge ItemSerializerPluginV2 into ItemSerializerPlugin
| -rw-r--r-- | src/core/itemserializer.cpp | 27 | ||||
| -rw-r--r-- | src/core/itemserializerplugin.cpp | 8 | ||||
| -rw-r--r-- | src/core/itemserializerplugin.h | 18 |
3 files changed, 7 insertions, 46 deletions
diff --git a/src/core/itemserializer.cpp b/src/core/itemserializer.cpp index 0d235a3..79c80ab 100644 --- a/src/core/itemserializer.cpp +++ b/src/core/itemserializer.cpp @@ -155,25 +155,7 @@ void ItemSerializer::apply(Item &item, const Item &other) } ItemSerializerPlugin *plugin = TypePluginLoader::pluginForMimeTypeAndClass(item.mimeType(), item.availablePayloadMetaTypeIds()); - - ItemSerializerPluginV2 *pluginV2 = dynamic_cast<ItemSerializerPluginV2 *>(plugin); - if (pluginV2) { - pluginV2->apply(item, other); - return; - } - - // Old-school merge: - Q_FOREACH (const QByteArray &part, other.loadedPayloadParts()) { - QByteArray partData; - QBuffer buffer; - buffer.setBuffer(&partData); - buffer.open(QIODevice::ReadWrite); - buffer.seek(0); - int version; - serialize(other, part, buffer, version); - buffer.seek(0); - deserialize(item, part, buffer, version); - } + plugin->apply(item, other); } QSet<QByteArray> ItemSerializer::parts(const Item &item) @@ -190,11 +172,8 @@ QSet<QByteArray> ItemSerializer::availableParts(const Item &item) return QSet<QByteArray>(); } ItemSerializerPlugin *plugin = TypePluginLoader::pluginForMimeTypeAndClass(item.mimeType(), item.availablePayloadMetaTypeIds()); - ItemSerializerPluginV2 *pluginV2 = dynamic_cast<ItemSerializerPluginV2 *>(plugin); - - if (pluginV2) { - return pluginV2->availableParts(item); - } + return plugin->availableParts(item); +} if (item.hasPayload()) { return QSet<QByteArray>(); diff --git a/src/core/itemserializerplugin.cpp b/src/core/itemserializerplugin.cpp index afabe44..4df29f5 100644 --- a/src/core/itemserializerplugin.cpp +++ b/src/core/itemserializerplugin.cpp @@ -45,11 +45,7 @@ void ItemSerializerPlugin::overridePluginLookup(QObject *p) ItemSerializer::overridePluginLookup(p); } -ItemSerializerPluginV2::~ItemSerializerPluginV2() -{ -} - -QSet<QByteArray> ItemSerializerPluginV2::availableParts(const Item &item) const +QSet<QByteArray> ItemSerializerPlugin::availableParts(const Item &item) const { if (item.hasPayload()) { return QSet<QByteArray>(); @@ -58,7 +54,7 @@ QSet<QByteArray> ItemSerializerPluginV2::availableParts(const Item &item) const return QSet<QByteArray>() << Item::FullPayload; } -void ItemSerializerPluginV2::apply(Item &item, const Item &other) +void ItemSerializerPlugin::apply(Item &item, const Item &other) { QBuffer buffer; QByteArray data(other.payloadData()); diff --git a/src/core/itemserializerplugin.h b/src/core/itemserializerplugin.h index eb9791c..7d4b560 100644 --- a/src/core/itemserializerplugin.h +++ b/src/core/itemserializerplugin.h @@ -184,20 +184,6 @@ public: */ static void overridePluginLookup(QObject *plugin); -}; - -/** - * @short The extended base class for item type serializer plugins. - * - * @since 4.4 - */ -class AKONADICORE_EXPORT ItemSerializerPluginV2 : public ItemSerializerPlugin -{ -public: - /** - * Destroys the item serializer plugin. - */ - virtual ~ItemSerializerPluginV2(); /** * Merges the payload parts in @p other into @p item. @@ -221,11 +207,11 @@ public: * @since 4.4 */ virtual QSet<QByteArray> availableParts(const Item &item) const; + }; } -Q_DECLARE_INTERFACE(Akonadi::ItemSerializerPlugin, "org.freedesktop.Akonadi.ItemSerializerPlugin/1.0") -Q_DECLARE_INTERFACE(Akonadi::ItemSerializerPluginV2, "org.freedesktop.Akonadi.ItemSerializerPlugin/1.1") +Q_DECLARE_INTERFACE(Akonadi::ItemSerializerPlugin, "org.freedesktop.Akonadi.ItemSerializerPlugin/2.0") #endif |
