KDAV 5.109.0
davprincipalsearchjob.h
1/*
2 SPDX-FileCopyrightText: 2011 Grégory Oestreicher <greg@kamago.net>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#ifndef KDAV_DAVPRINCIPALSEARCHJOB_H
8#define KDAV_DAVPRINCIPALSEARCHJOB_H
9
10#include "kdav_export.h"
11
12#include "davjobbase.h"
13#include "davurl.h"
14
15#include <QString>
16
17namespace KDAV
18{
19class DavPrincipalSearchJobPrivate;
20
31class KDAV_EXPORT DavPrincipalSearchJob : public DavJobBase
32{
33 Q_OBJECT
34
35public:
42 DisplayName,
43 EmailAddress,
44 };
45
49 struct Result {
50 QString propertyNamespace;
51 QString property;
52 QString value;
53 };
54
63 explicit DavPrincipalSearchJob(const DavUrl &url, FilterType type, const QString &filter, QObject *parent = nullptr);
64
71 void fetchProperty(const QString &name, const QString &ns = QString());
72
76 void start() override;
77
81 Q_REQUIRED_RESULT DavUrl davUrl() const;
82
86 Q_REQUIRED_RESULT QVector<Result> results() const;
87
88private:
89 Q_DECLARE_PRIVATE(DavPrincipalSearchJob)
90};
91}
92
93Q_DECLARE_TYPEINFO(KDAV::DavPrincipalSearchJob::Result, Q_MOVABLE_TYPE);
94#endif
base class for the jobs used by the resource.
Definition davjobbase.h:27
A job that search a DAV principal on a server.
Definition davprincipalsearchjob.h:32
void fetchProperty(const QString &name, const QString &ns=QString())
Add a new property to fetch from the server.
DavPrincipalSearchJob(const DavUrl &url, FilterType type, const QString &filter, QObject *parent=nullptr)
Creates a new DAV principal search job.
QVector< Result > results() const
Get the job results.
DavUrl davUrl() const
Return the DavUrl used by this job.
void start() override
Starts the job.
FilterType
Types of search that are supported by this job.
Definition davprincipalsearchjob.h:41
A helper class to combine URL and protocol of a DAV URL.
Definition davurl.h:27
The KDAV namespace.
Definition davjobbase.h:17
Simple struct to hold the search job results.
Definition davprincipalsearchjob.h:49