diff options
| author | Linus Jahn <lnj@kaidan.im> | 2023-03-09 20:36:08 +0100 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2023-03-09 20:38:05 +0100 |
| commit | 7c7ce1ac0b06455cf08186543452c65410fe79a9 (patch) | |
| tree | 275080c868beb9baf82d614dc740cf009260ecec /src/base/compat/QXmppPubSubItem.cpp | |
| parent | fcd8224256e38d50d4ec67b71c504dcb6e480e95 (diff) | |
| download | qxmpp-7c7ce1ac0b06455cf08186543452c65410fe79a9.tar.gz | |
Readd old PubSubIq and PubSubItem for compatibility
There is at least one package that actually uses this API and this way
QXmpp 1.5 can be easily adopted.
Diffstat (limited to 'src/base/compat/QXmppPubSubItem.cpp')
| -rw-r--r-- | src/base/compat/QXmppPubSubItem.cpp | 76 |
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 |
