KDAV 5.109.0
davcollectionsmultifetchjob.h
1/*
2 SPDX-FileCopyrightText: 2010 Tobias Koenig <tokoe@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#ifndef KDAV_DAVCOLLECTIONSMULTIFETCHJOB_H
8#define KDAV_DAVCOLLECTIONSMULTIFETCHJOB_H
9
10#include "kdav_export.h"
11
12#include "davcollection.h"
13#include "davurl.h"
14
15#include <KCompositeJob>
16
17#include <memory>
18
19namespace KDAV
20{
21class DavCollectionsMultiFetchJobPrivate;
22
34class KDAV_EXPORT DavCollectionsMultiFetchJob : public KCompositeJob
35{
36 Q_OBJECT
37
38public:
45 explicit DavCollectionsMultiFetchJob(const DavUrl::List &urls, QObject *parent = nullptr);
47
51 void start() override;
52
56 Q_REQUIRED_RESULT DavCollection::List collections() const;
57
58Q_SIGNALS:
65 void collectionDiscovered(KDAV::Protocol protocol, const QString &collectionUrl, const QString &configuredUrl);
66
67private:
68 void slotResult(KJob *) override;
69
70 const std::unique_ptr<DavCollectionsMultiFetchJobPrivate> d;
71};
72}
73
74#endif
QVector< DavCollection > List
Defines a list of DAV collection objects.
Definition davcollection.h:43
A job that fetches all DAV collection.
Definition davcollectionsmultifetchjob.h:35
void start() override
Starts the job.
void collectionDiscovered(KDAV::Protocol protocol, const QString &collectionUrl, const QString &configuredUrl)
This signal is emitted every time a new collection has been discovered.
DavCollection::List collections() const
Returns the list of fetched DAV collections.
DavCollectionsMultiFetchJob(const DavUrl::List &urls, QObject *parent=nullptr)
Creates a new DAV collections multi fetch job.
QVector< DavUrl > List
Defines a list of DAV URL objects.
Definition davurl.h:32
The KDAV namespace.
Definition davjobbase.h:17
Protocol
Describes the DAV protocol dialect.
Definition enums.h:20