6#ifndef QXMPPPUBSUBBASEITEM_H
7#define QXMPPPUBSUBBASEITEM_H
9#include "QXmppGlobal.h"
13#include <QSharedDataPointer>
15class QXmlStreamWriter;
16class QXmppPubSubBaseItemPrivate;
30 void setId(const QString &
id);
36 void parse(const QDomElement &element);
37 void toXml(QXmlStreamWriter *writer) const;
40 static
bool isItem(const QDomElement &element);
43 virtual
void parsePayload(const QDomElement &payloadElement);
46 template<typename PayloadChecker>
47 static
bool isItem(const QDomElement &element, PayloadChecker isPayloadValid);
50 QSharedDataPointer<QXmppPubSubBaseItemPrivate> d;
72template<typename PayloadChecker>
79 const QDomElement payload = element.firstChildElement();
82 if (!payload.isNull()) {
83 return isPayloadValid(payload);
Definition QXmppPubSubBaseItem.h:19
QXmppPubSubBaseItem(const QXmppPubSubBaseItem &) noexcept
Default copy-constructor.
void setId(const QString &id)
Definition QXmppPubSubBaseItem.cpp:89
virtual void serializePayload(QXmlStreamWriter *writer) const
Definition QXmppPubSubBaseItem.cpp:154
QString publisher() const
Definition QXmppPubSubBaseItem.cpp:97
void setPublisher(const QString &publisher)
Definition QXmppPubSubBaseItem.cpp:105
QXmppPubSubBaseItem(QXmppPubSubBaseItem &&) noexcept
Default move-constructor.
QXmppPubSubBaseItem(const QString &id={}, const QString &publisher={})
Definition QXmppPubSubBaseItem.cpp:61
virtual void parsePayload(const QDomElement &payloadElement)
Definition QXmppPubSubBaseItem.cpp:144
static bool isItem(const QDomElement &element)
Definition QXmppPubSubBaseItem.cpp:134