1 | /* |
2 | SPDX-FileCopyrightText: 2010 Grégory Oestreicher <greg@kamago.net> |
3 | |
4 | SPDX-License-Identifier: LGPL-2.0-or-later |
5 | */ |
6 | |
7 | #ifndef KDAV_DAVMULTIGETPROTOCOL_H |
8 | #define KDAV_DAVMULTIGETPROTOCOL_H |
9 | |
10 | #include "kdav_export.h" |
11 | |
12 | #include "davprotocolbase_p.h" |
13 | |
14 | namespace KDAV |
15 | { |
16 | /** |
17 | * @short Base class for protocols that implement MULTIGET capabilities |
18 | */ |
19 | class DavMultigetProtocol : public DavProtocolBase |
20 | { |
21 | public: |
22 | /** |
23 | * Destroys the DAV protocol |
24 | */ |
25 | ~DavMultigetProtocol() override; |
26 | |
27 | /** |
28 | * Returns the XML document that represents a MULTIGET DAV query to |
29 | * list all DAV resources with the given @p urls. |
30 | */ |
31 | virtual XMLQueryBuilder::Ptr itemsReportQuery(const QStringList &urls) const = 0; |
32 | |
33 | /** |
34 | * Returns the namespace used by protocol-specific elements found in responses. |
35 | */ |
36 | virtual QString responseNamespace() const = 0; |
37 | |
38 | /** |
39 | * Returns the tag name of data elements found in responses. |
40 | */ |
41 | virtual QString dataTagName() const = 0; |
42 | }; |
43 | } |
44 | |
45 | #endif |
46 | |