File indexing completed on 2024-11-24 04:43:49

0001 /*
0002     SPDX-FileCopyrightText: 2015-2016 Krzysztof Nowicki <krissn@op.pl>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "ewsitemhandler.h"
0010 
0011 class EwsMailHandler : public EwsItemHandler
0012 {
0013 public:
0014     EwsMailHandler();
0015     ~EwsMailHandler() override;
0016 
0017     EwsFetchItemDetailJob *fetchItemDetailJob(EwsClient &client, QObject *parent, const Akonadi::Collection &collection) override;
0018     void setSeenFlag(Akonadi::Item &item, bool value) override;
0019     QString mimeType() override;
0020     bool setItemPayload(Akonadi::Item &item, const EwsItem &ewsItem) override;
0021     EwsModifyItemJob *modifyItemJob(EwsClient &client, const QList<Akonadi::Item> &items, const QSet<QByteArray> &parts, QObject *parent) override;
0022     EwsCreateItemJob *
0023     createItemJob(EwsClient &client, const Akonadi::Item &item, const Akonadi::Collection &collection, EwsTagStore *tagStore, EwsResource *parent) override;
0024     static EwsItemHandler *factory();
0025     static QHash<EwsPropertyField, QVariant> writeFlags(const QSet<QByteArray> &flags);
0026     static QSet<QByteArray> readFlags(const EwsItem &item);
0027     static QList<EwsPropertyField> flagsProperties();
0028 };