aboutsummaryrefslogtreecommitdiff
path: root/src/base/compat/QXmppPubSubItem.cpp
diff options
context:
space:
mode:
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