akonadi
itemserializer_p.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef AKONADI_ITEM_SERIALIZER_P_H
00022 #define AKONADI_ITEM_SERIALIZER_P_H
00023
00024 #include <QtCore/QByteArray>
00025 #include <QtCore/QSet>
00026
00027 #include "akonadiprivate_export.h"
00028
00029 class QIODevice;
00030
00031 namespace Akonadi {
00032
00033 class Item;
00034 class ItemSerializerPlugin;
00035
00040 class AKONADI_TESTS_EXPORT ItemSerializer
00041 {
00042 public:
00044 static void deserialize( Item& item, const QByteArray& label, const QByteArray& data, int version, bool external );
00046 static void deserialize( Item& item, const QByteArray& label, QIODevice& data, int version );
00048 static void serialize( const Item& item, const QByteArray& label, QByteArray& data, int &version );
00050 static void serialize( const Item& item, const QByteArray& label, QIODevice& data, int &version );
00051
00057 static void apply( Item& item, const Item &other );
00058
00062 static QSet<QByteArray> parts( const Item &item );
00063
00069 static QSet<QByteArray> availableParts( const Item &item );
00070
00071 private:
00072 static ItemSerializerPlugin* pluginForMimeType( const QString& mimetype );
00073 };
00074
00075 }
00076
00077 #endif