aboutsummaryrefslogtreecommitdiff
path: root/src
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
parent9f2d1158e0e2a212e0189d3a6ce772c0be88ed50 (diff)
downloadqxmpp-e286527c1974ac334811aee35f0fe33dcace44d5.tar.gz
Split up QXmppPubSubItem from QXmppPubSubIq.h
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt2
-rw-r--r--src/base/QXmppPubSubIq.cpp66
-rw-r--r--src/base/QXmppPubSubIq.h32
-rw-r--r--src/base/QXmppPubSubItem.cpp95
-rw-r--r--src/base/QXmppPubSubItem.h64
5 files changed, 164 insertions, 95 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 7921d10a..db020e3b 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -40,6 +40,7 @@ set(INSTALL_HEADER_FILES
base/QXmppPingIq.h
base/QXmppPresence.h
base/QXmppPubSubIq.h
+ base/QXmppPubSubItem.h
base/QXmppRegisterIq.h
base/QXmppResultSet.h
base/QXmppRosterIq.h
@@ -122,6 +123,7 @@ set(SOURCE_FILES
base/QXmppPingIq.cpp
base/QXmppPresence.cpp
base/QXmppPubSubIq.cpp
+ base/QXmppPubSubItem.cpp
base/QXmppRegisterIq.cpp
base/QXmppResultSet.cpp
base/QXmppRosterIq.cpp
diff --git a/src/base/QXmppPubSubIq.cpp b/src/base/QXmppPubSubIq.cpp
index d7e8aa61..6dd485dd 100644
--- a/src/base/QXmppPubSubIq.cpp
+++ b/src/base/QXmppPubSubIq.cpp
@@ -43,72 +43,6 @@ static const char *pubsub_queries[] = {
"unsubscribe",
};
-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
-
class QXmppPubSubIqPrivate : public QSharedData
{
public:
diff --git a/src/base/QXmppPubSubIq.h b/src/base/QXmppPubSubIq.h
index d18e92b0..e83d62fa 100644
--- a/src/base/QXmppPubSubIq.h
+++ b/src/base/QXmppPubSubIq.h
@@ -27,37 +27,11 @@
#include <QSharedDataPointer>
#include "QXmppIq.h"
+// required for compatibility:
+#include "QXmppPubSubItem.h"
-class QXmppPubSubItemPrivate;
class QXmppPubSubIqPrivate;
-/// \brief The QXmppPubSubItem class represents a publish-subscribe item
-/// as defined by XEP-0060: Publish-Subscribe.
-
-class QXMPP_EXPORT QXmppPubSubItem
-{
-public:
- QXmppPubSubItem();
- QXmppPubSubItem(const QXmppPubSubItem &iq);
- ~QXmppPubSubItem();
-
- QXmppPubSubItem &operator=(const QXmppPubSubItem &iq);
-
- QString id() const;
- void setId(const QString &id);
-
- QXmppElement contents() const;
- void setContents(const QXmppElement &contents);
-
- /// \cond
- void parse(const QDomElement &element);
- void toXml(QXmlStreamWriter *writer) const;
- /// \endcond
-
-private:
- QSharedDataPointer<QXmppPubSubItemPrivate> d;
-};
-
/// \brief The QXmppPubSubIq class represents an IQ used for the
/// publish-subscribe mechanisms defined by XEP-0060: Publish-Subscribe.
///
@@ -114,4 +88,4 @@ private:
QSharedDataPointer<QXmppPubSubIqPrivate> d;
};
-#endif
+#endif // QXMPPPUBSUBIQ_H
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
diff --git a/src/base/QXmppPubSubItem.h b/src/base/QXmppPubSubItem.h
new file mode 100644
index 00000000..6b524f5b
--- /dev/null
+++ b/src/base/QXmppPubSubItem.h
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef QXMPPPUBSUBITEM_H
+#define QXMPPPUBSUBITEM_H
+
+#include <QSharedDataPointer>
+
+#include "QXmppGlobal.h"
+
+class QDomElement;
+class QXmlStreamWriter;
+
+class QXmppElement;
+class QXmppPubSubItemPrivate;
+
+/// \brief The QXmppPubSubItem class represents a publish-subscribe item
+/// as defined by XEP-0060: Publish-Subscribe.
+
+class QXMPP_EXPORT QXmppPubSubItem
+{
+public:
+ QXmppPubSubItem();
+ QXmppPubSubItem(const QXmppPubSubItem &iq);
+ ~QXmppPubSubItem();
+
+ QXmppPubSubItem &operator=(const QXmppPubSubItem &iq);
+
+ QString id() const;
+ void setId(const QString &id);
+
+ QXmppElement contents() const;
+ void setContents(const QXmppElement &contents);
+
+ /// \cond
+ void parse(const QDomElement &element);
+ void toXml(QXmlStreamWriter *writer) const;
+ /// \endcond
+
+private:
+ QSharedDataPointer<QXmppPubSubItemPrivate> d;
+};
+
+#endif // QXMPPPUBSUBITEM_H