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_DAVITEMMODIFYJOB_H
8#define KDAV_DAVITEMMODIFYJOB_H
9
10#include "kdav_export.h"
11
12#include "davitem.h"
13#include "davjobbase.h"
14#include "davurl.h"
15
16namespace KDAV
17{
18class DavItemModifyJobPrivate;
19
20/**
21 * @class DavItemModifyJob davitemmodifyjob.h <KDAV/DavItemModifyJob>
22 *
23 * @short A job that modifies a DAV item on the DAV server.
24 */
25class KDAV_EXPORT DavItemModifyJob : public DavJobBase
26{
27 Q_OBJECT
28
29public:
30 /**
31 * Creates a new DAV item modify job.
32 *
33 * @param item The item that shall be modified.
34 * @param parent The parent object.
35 */
36 explicit DavItemModifyJob(const DavItem &item, QObject *parent = nullptr);
37
38 /**
39 * Starts the job.
40 */
41 void start() override;
42
43 /**
44 * Returns the modified item including the updated ETag information.
45 */
46 Q_REQUIRED_RESULT DavItem item() const;
47
48 Q_REQUIRED_RESULT QUrl itemUrl() const;
49
50 /**
51 * Returns the item that triggered the conflict, if any.
52 */
53 Q_REQUIRED_RESULT DavItem freshItem() const;
54
55 /**
56 * Returns the response code we got when fetching the fresh item.
57 */
58 Q_REQUIRED_RESULT int freshResponseCode() const;
59
60private:
61 Q_DECLARE_PRIVATE(DavItemModifyJob)
62};
63}
64
65#endif
66

source code of kdav/src/common/davitemmodifyjob.h