QXmpp  Version: 1.5.1
QXmppPushEnableIq.h
1 // SPDX-FileCopyrightText: 2020 Robert Märkisch <zatrox@kaidan.im>
2 // SPDX-FileCopyrightText: 2020 Linus Jahn <lnj@kaidan.im>
3 // SPDX-FileCopyrightText: 2020 Jonah Brüchert <jbb@kaidan.im>
4 //
5 // SPDX-License-Identifier: LGPL-2.1-or-later
6 
7 #pragma once
8 
9 #include <QXmppIq.h>
10 
11 class QXmppPushEnableIqPrivate;
12 class QXmppDataForm;
13 
22 class QXMPP_EXPORT QXmppPushEnableIq : public QXmppIq
23 {
24 public:
31 
36  enum Mode : bool {
37  Enable = true,
38  Disable = false
39  };
40 
41  QString jid() const;
42  void setJid(const QString &jid);
43 
44  QString node() const;
45  void setNode(const QString &node);
46 
47  void setMode(Mode mode);
48  Mode mode();
49 
50  QXmppDataForm dataForm() const;
51  void setDataForm(const QXmppDataForm &form);
52 
53  static bool isPushEnableIq(const QDomElement &element);
54 
55 protected:
57  void parseElementFromChild(const QDomElement &element) override;
58  void toXmlElementFromChild(QXmlStreamWriter *writer) const override;
60 
61 private:
62  QSharedDataPointer<QXmppPushEnableIqPrivate> d;
63 };
Definition: QXmppDataForm.h:27
The QXmppIq class is the base class for all IQs.
Definition: QXmppIq.h:23
This class represents an IQ to enable or disablepush notifications on the user server.
Definition: QXmppPushEnableIq.h:23
QXmppPushEnableIq(const QXmppPushEnableIq &)
Default copy-constructor.
QXmppPushEnableIq & operator=(const QXmppPushEnableIq &)
Default assignment operator.
QXmppPushEnableIq(QXmppPushEnableIq &&)
Default move-constructor.
Mode
The Mode enum describes whether the IQ should enable or disable push notifications.
Definition: QXmppPushEnableIq.h:36
QXmppPushEnableIq & operator=(QXmppPushEnableIq &&)
Default move-assignment operator.