File indexing completed on 2024-05-12 05:10:49
0001 /* 0002 This file is part of KOrganizer. 0003 0004 SPDX-FileCopyrightText: 2015 Sandro Knauß <knauss@kolabsys.com> 0005 0006 SPDX-License-Identifier: GPL-2.0-or-later WITH Qt-Commercial-exception-1.0 0007 */ 0008 0009 #pragma once 0010 0011 #include "akonadi-calendar_export.h" 0012 0013 #include <QObject> 0014 #include <QString> 0015 0016 #include <Akonadi/Collection> 0017 #include <KCalendarCore/Attendee> 0018 #include <KIdentityManagementCore/IdentityManager> 0019 0020 class KJob; 0021 0022 namespace Akonadi 0023 { 0024 /// Helper class to initialise the search collections 0025 class AKONADI_CALENDAR_EXPORT SearchCollectionHelper : public QObject 0026 { 0027 Q_OBJECT 0028 public: 0029 explicit SearchCollectionHelper(QObject *parent = nullptr); 0030 0031 private: 0032 void onSearchCollectionsFetched(KJob *job); 0033 void updateOpenInvitation(); 0034 void updateDeclinedInvitation(); 0035 0036 void createSearchJobFinished(KJob *job); 0037 void modifyResult(KJob *job); 0038 0039 void setupSearchCollections(); 0040 void updateSearchCollection(Akonadi::Collection col, KCalendarCore::Attendee::PartStat status, const QString &name, const QString &displayName); 0041 0042 private: 0043 KIdentityManagementCore::IdentityManager *const mIdentityManager; 0044 Akonadi::Collection mOpenInvitationCollection; 0045 Akonadi::Collection mDeclineCollection; 0046 }; 0047 }