aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Vrátil <dvratil@kde.org>2017-04-01 15:21:13 (GMT)
committerDaniel Vrátil <dvratil@kde.org>2017-04-01 15:21:13 (GMT)
commit9a0e50db1c0696b1d920610ff239146cf04cf88a (patch)
treee62bcc9526c16143c5ffc91f20c0444ed2441ed6
parent62834836717db4864052fefac922a297f961cc6b (diff)
ABI break: merge ItemSerializerPluginV2 into ItemSerializerPlugin
-rw-r--r--src/core/itemserializer.cpp27
-rw-r--r--src/core/itemserializerplugin.cpp8
-rw-r--r--src/core/itemserializerplugin.h18
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