aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppNonza.h
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2021-08-26 19:20:40 +0200
committerLinus Jahn <lnj@kaidan.im>2021-08-26 23:18:23 +0200
commitbd1522d9809a0e171ff122c5c6e323a3a838da16 (patch)
treedde4c23d03f7ac74408c8032fdfc3c25ffb98a88 /src/base/QXmppNonza.h
parented8e1ccc3522d9cbbd2d751d1a4a66b1ebe21390 (diff)
downloadqxmpp-bd1522d9809a0e171ff122c5c6e323a3a838da16.tar.gz
Add QXmppNonza
Some objects currently inherit from QXmppStanza although they don't make use of most of the stanza's features (like having to/from/id). This is currently necessary, because only QXmppStanzas can be sent via the client or stream. The QXmppNonza class should fix that by only providing the most important features (parse + toXml).
Diffstat (limited to 'src/base/QXmppNonza.h')
-rw-r--r--src/base/QXmppNonza.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/base/QXmppNonza.h b/src/base/QXmppNonza.h
new file mode 100644
index 00000000..8b493a38
--- /dev/null
+++ b/src/base/QXmppNonza.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2008-2021 The QXmpp developers
+ *
+ * Authors:
+ * Linus Jahn
+ *
+ * Source:
+ * https://github.com/qxmpp-project/qxmpp
+ *
+ * This file is a part of QXmpp library.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ */
+
+#ifndef QXMPPNONZA_H
+#define QXMPPNONZA_H
+
+#include "QXmppGlobal.h"
+
+class QXmlStreamWriter;
+class QDomElement;
+
+class QXmppNonza
+{
+public:
+ QXmppNonza() = default;
+ virtual ~QXmppNonza() = default;
+
+ virtual inline bool isXmppStanza() const { return false; }
+ virtual void parse(const QDomElement &) = 0;
+ virtual void toXml(QXmlStreamWriter *writer) const = 0;
+};
+
+#endif // QXMPPNONZA_H