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_DAVITEMCREATEJOB_H
8#define KDAV_DAVITEMCREATEJOB_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 DavItemCreateJobPrivate;
19
20/*!
21 * \class KDAV::DavItemCreateJob
22 * \inheaderfile KDAV/DavItemCreateJob
23 * \inmodule KDAV
24 *
25 * \brief A job to create a DAV item on the DAV server.
26 */
27class KDAV_EXPORT DavItemCreateJob : public DavJobBase
28{
29 Q_OBJECT
30
31public:
32 /*!
33 * Creates a new DAV item create job.
34 *
35 * \a item The item that shall be created.
36 *
37 * \a parent The parent object.
38 */
39 explicit DavItemCreateJob(const DavItem &item, QObject *parent = nullptr);
40
41 /*!
42 * Starts the job.
43 */
44 void start() override;
45
46 /*!
47 * Returns the created DAV item including the correct identifier URL
48 * and current ETag information.
49 */
50 Q_REQUIRED_RESULT DavItem item() const;
51
52 /*!
53 *
54 */
55 Q_REQUIRED_RESULT QUrl itemUrl() const;
56
57private:
58 Q_DECLARE_PRIVATE(DavItemCreateJob)
59};
60}
61
62#endif
63

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