Akonadi

tagcreatejob.h
1 /*
2  SPDX-FileCopyrightText: 2014 Christian Mollekopf <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #pragma once
8 
9 #include "akonadicore_export.h"
10 #include "job.h"
11 
12 namespace Akonadi
13 {
14 class Tag;
15 class TagCreateJobPrivate;
16 
17 /**
18  * @short Job that creates a new tag in the Akonadi storage.
19  * @since 4.13
20  */
21 class AKONADICORE_EXPORT TagCreateJob : public Job
22 {
23  Q_OBJECT
24 
25 public:
26  /**
27  * Creates a new tag create job.
28  *
29  * @param tag The tag to create.
30  * @param parent The parent object.
31  */
32  explicit TagCreateJob(const Tag &tag, QObject *parent = nullptr);
33 
34  /**
35  * Returns the created tag with the new unique id, or an invalid tag if the job failed.
36  */
37  Q_REQUIRED_RESULT Tag tag() const;
38 
39  /**
40  * Merges the tag by GID if it is already existing, and returns the merged version.
41  * This is false by default.
42  *
43  * Note that the returned tag does not contain attributes.
44  */
45  void setMergeIfExisting(bool merge);
46 
47 protected:
48  void doStart() override;
49  bool doHandleResponse(qint64 tag, const Protocol::CommandPtr &response) override;
50 
51 private:
52  Q_DECLARE_PRIVATE(TagCreateJob)
53 };
54 
55 }
56 
An Akonadi Tag.
Definition: tag.h:25
Base class for all actions in the Akonadi storage.
Definition: job.h:80
Helper integration between Akonadi and Qt.
Job that creates a new tag in the Akonadi storage.
Definition: tagcreatejob.h:21
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Mon Jul 4 2022 03:53:15 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.