aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppPubSubItem.cpp
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2019-12-06 22:59:15 +0100
committerLNJ <lnj@kaidan.im>2019-12-08 23:08:44 +0100
commite286527c1974ac334811aee35f0fe33dcace44d5 (patch)
treee4a863669c979e36ac5c7c2f55e3b2cc4a253a22 /src/base/QXmppPubSubItem.cpp
parent9f2d1158e0e2a212e0189d3a6ce772c0be88ed50 (diff)
downloadqxmpp-e286527c1974ac334811aee35f0fe33dcace44d5.tar.gz
Split up QXmppPubSubItem from QXmppPubSubIq.h
Diffstat (limited to 'src/base/QXmppPubSubItem.cpp')
-rw-r--r--src/base/QXmppPubSubItem.cpp95
1 files changed, 95 insertions, 0 deletions
diff --git a/src/base/QXmppPubSubItem.cpp b/src/base/QXmppPubSubItem.cpp
new file mode 100644
index 00000000..5915155c
--- /dev/null
+++ b/src/base/QXmppPubSubItem.cpp
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2008-2019 The QXmpp developers
+ *
+ * Author:
+ * Jeremy Lainé
+ *
+ * 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.
+ *
+ */
+
+#include "QXmppPubSubItem.h"
+
+#include <QDomElement>
+
+#include "QXmppElement.h"
+#include "QXmppUtils.h"
+
+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;
+}
+
+/// \cond
+void QXmppPubSubItem::parse(const QDomElement &element)
+{
+ d->id = element.attribute("id");
+ d->contents = QXmppElement(element.firstChildElement());
+}
+
+void QXmppPubSubItem::toXml(QXmlStreamWriter *writer) const
+{
+ writer->writeStartElement("item");
+ helperToXmlAddAttribute(writer, "id", d->id);
+ d->contents.toXml(writer);
+ writer->writeEndElement();
+}
+/// \endcond