aboutsummaryrefslogtreecommitdiff
path: root/src/base/compat/QXmppPubSubItem.cpp
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2023-03-11 00:29:02 +0100
committerLinus Jahn <lnj@kaidan.im>2023-03-11 00:29:02 +0100
commit463111576fb1476192acd2d8fe415b8482a8a696 (patch)
treee87e3bb8f8724f019954692ac22b0d6386dfa5e7 /src/base/compat/QXmppPubSubItem.cpp
parent6ea3edfd83a0bf1558d43e48eac563730276c175 (diff)
parent4897c9b6a36e961fb44d2bce04a698f979a423d5 (diff)
downloadqxmpp-463111576fb1476192acd2d8fe415b8482a8a696.tar.gz
Merge branch '1.5'
Diffstat (limited to 'src/base/compat/QXmppPubSubItem.cpp')
-rw-r--r--src/base/compat/QXmppPubSubItem.cpp76
1 files changed, 76 insertions, 0 deletions
diff --git a/src/base/compat/QXmppPubSubItem.cpp b/src/base/compat/QXmppPubSubItem.cpp
new file mode 100644
index 00000000..cfd2724e
--- /dev/null
+++ b/src/base/compat/QXmppPubSubItem.cpp
@@ -0,0 +1,76 @@
+// SPDX-FileCopyrightText: 2010 Jeremy Lainé <jeremy.laine@m4x.org>
+//
+// SPDX-License-Identifier: LGPL-2.1-or-later
+
+#include "QXmppPubSubItem.h"
+
+#include "QXmppElement.h"
+#include "QXmppUtils.h"
+
+#include <QDomElement>
+
+/// \cond
+class QXmppPubSubItemPrivate : public QSharedData
+{
+public:
+ QString id;
+ QXmppElement contents;
+};
+
+QXmppPubSubItem::QXmppPubSubItem()
+ : d(new QXmppPubSubItemPrivate)
+{
+}
+
+QXmppPubSubItem::QXmppPubSubItem(const QXmppPubSubItem &iq) = default;
+
+QXmppPubSubItem::~QXmppPubSubItem() = default;
+
+QXmppPubSubItem &QXmppPubSubItem::operator=(const QXmppPubSubItem &iq) = default;
+
+/// Returns the ID of the PubSub item.
+
+QString QXmppPubSubItem::id() const
+{
+ return d->id;
+}
+
+/// Sets the ID of the PubSub item.
+///
+/// \param id
+
+void QXmppPubSubItem::setId(const QString &id)
+{
+ d->id = id;
+}
+
+/// Returns the contents of the PubSub item.
+
+QXmppElement QXmppPubSubItem::contents() const
+{
+ return d->contents;
+}
+
+/// Sets the contents of the PubSub item.
+///
+/// \param contents
+
+void QXmppPubSubItem::setContents(const QXmppElement &contents)
+{
+ d->contents = contents;
+}
+
+void QXmppPubSubItem::parse(const QDomElement &element)
+{
+ d->id = element.attribute(QStringLiteral("id"));
+ d->contents = QXmppElement(element.firstChildElement());
+}
+
+void QXmppPubSubItem::toXml(QXmlStreamWriter *writer) const
+{
+ writer->writeStartElement(QStringLiteral("item"));
+ helperToXmlAddAttribute(writer, QStringLiteral("id"), d->id);
+ d->contents.toXml(writer);
+ writer->writeEndElement();
+}
+/// \endcond