File indexing completed on 2025-03-09 04:47:13

0001 /*
0002     SPDX-FileCopyrightText: 2015-2016 Krzysztof Nowicki <krissn@op.pl>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "ewscontacthandler.h"
0008 
0009 #include <KContacts/Addressee>
0010 
0011 #include "ewscreatecontactjob.h"
0012 #include "ewsfetchcontactdetailjob.h"
0013 #include "ewsmodifycontactjob.h"
0014 
0015 using namespace Akonadi;
0016 
0017 EwsContactHandler::EwsContactHandler() = default;
0018 
0019 EwsContactHandler::~EwsContactHandler() = default;
0020 
0021 EwsItemHandler *EwsContactHandler::factory()
0022 {
0023     return new EwsContactHandler();
0024 }
0025 
0026 EwsFetchItemDetailJob *EwsContactHandler::fetchItemDetailJob(EwsClient &client, QObject *parent, const Akonadi::Collection &collection)
0027 {
0028     return new EwsFetchContactDetailJob(client, parent, collection);
0029 }
0030 
0031 void EwsContactHandler::setSeenFlag(Item &item, bool value)
0032 {
0033     Q_UNUSED(item)
0034     Q_UNUSED(value)
0035 }
0036 
0037 QString EwsContactHandler::mimeType()
0038 {
0039     return KContacts::Addressee::mimeType();
0040 }
0041 
0042 bool EwsContactHandler::setItemPayload(Akonadi::Item &item, const EwsItem &ewsItem)
0043 {
0044     Q_UNUSED(item)
0045     Q_UNUSED(ewsItem)
0046 
0047     return true;
0048 }
0049 
0050 EwsModifyItemJob *EwsContactHandler::modifyItemJob(EwsClient &client, const QList<Akonadi::Item> &items, const QSet<QByteArray> &parts, QObject *parent)
0051 {
0052     return new EwsModifyContactJob(client, items, parts, parent);
0053 }
0054 
0055 EwsCreateItemJob *EwsContactHandler::createItemJob(EwsClient &client,
0056                                                    const Akonadi::Item &item,
0057                                                    const Akonadi::Collection &collection,
0058                                                    EwsTagStore *tagStore,
0059                                                    EwsResource *parent)
0060 {
0061     return new EwsCreateContactJob(client, item, collection, tagStore, parent);
0062 }
0063 
0064 EWS_DECLARE_ITEM_HANDLER(EwsContactHandler, EwsItemTypeContact)