File indexing completed on 2024-04-28 03:53:56

0001 /*
0002     SPDX-FileCopyrightText: 2010 Grégory Oestreicher <greg@kamago.net>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef KDAV_DAVPRINCIPALHOMESETSFETCHJOB_H
0008 #define KDAV_DAVPRINCIPALHOMESETSFETCHJOB_H
0009 
0010 #include "kdav_export.h"
0011 
0012 #include "davjobbase.h"
0013 #include "davurl.h"
0014 
0015 #include <QStringList>
0016 
0017 namespace KDAV
0018 {
0019 class DavPrincipalHomeSetsFetchJobPrivate;
0020 
0021 /**
0022  * @class DavPrincipalHomeSetsFetchJob davprincipalhomesetsfetchjob.h <KDAV/DavPrincipalHomeSetsFetchJob>
0023  *
0024  * @short A job that fetches home sets for a principal.
0025  */
0026 class KDAV_EXPORT DavPrincipalHomeSetsFetchJob : public DavJobBase
0027 {
0028     Q_OBJECT
0029 
0030 public:
0031     /**
0032      * Creates a new DAV principals home sets fetch job.
0033      *
0034      * @param url The DAV URL of the DAV principal.
0035      * @param parent The parent object.
0036      */
0037     explicit DavPrincipalHomeSetsFetchJob(const DavUrl &url, QObject *parent = nullptr);
0038 
0039     /**
0040      * Starts the job.
0041      */
0042     void start() override;
0043 
0044     /**
0045      * Returns the found home sets.
0046      */
0047     Q_REQUIRED_RESULT QStringList homeSets() const;
0048 
0049 private:
0050     Q_DECLARE_PRIVATE(DavPrincipalHomeSetsFetchJob)
0051 };
0052 }
0053 
0054 #endif