Libksieve

searchserverwithvacationsupportjob.h
1/*
2 SPDX-FileCopyrightText: 2020-2024 Laurent Montel <montel@kde.org>
3
4 SPDX-License-Identifier: GPL-2.0-only
5*/
6
7#pragma once
8
9#include "ksievecore_export.h"
10#include <KSieveCore/Util>
11#include <QMap>
12#include <QObject>
13namespace KSieveCore
14{
15class SieveImapPasswordProvider;
16class KSIEVECORE_EXPORT SearchServerWithVacationSupportJob : public QObject
17{
18 Q_OBJECT
19public:
20 explicit SearchServerWithVacationSupportJob(QObject *parent = nullptr);
21 ~SearchServerWithVacationSupportJob() override;
22 void start();
23
24 [[nodiscard]] bool canStart() const;
25
26 [[nodiscard]] KSieveCore::SieveImapPasswordProvider *passwordProvider() const;
27 void setPasswordProvider(KSieveCore::SieveImapPasswordProvider *newProvider);
28
29Q_SIGNALS:
30 void searchServerWithVacationSupportFinished(const QMap<QString, KSieveCore::Util::AccountInfo> &info);
31
32private:
33 KSIEVECORE_NO_EXPORT void slotFindAccountInfoFinished(const KSieveCore::Util::AccountInfo &info);
34 KSIEVECORE_NO_EXPORT void sendAccountList();
35 KSIEVECORE_NO_EXPORT void searchNextInfo();
36 KSIEVECORE_NO_EXPORT void slotSearchSieveScript(const QString &name, const QString &identifier);
37 KSIEVECORE_NO_EXPORT void searchNextServerSieve();
38
39 QMap<QString, QString>::const_iterator mSieveServerMapIterator;
40 // name, identifier
41 QMap<QString, QString> mServerSieveInfos;
42
43 // Result
45 KSieveCore::SieveImapPasswordProvider *mPasswordProvider = nullptr;
46};
47}
The SieveImapPasswordProvider class.
Q_SCRIPTABLE Q_NOREPLY void start()
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:14:30 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.