Loading...
Searching...
No Matches
QXmppStreamFeatures.h
// SPDX-FileCopyrightText: 2010 Jeremy Lainé <jeremy.laine@m4x.org>
//
// SPDX-License-Identifier: LGPL-2.1-or-later
#ifndef QXMPPSTREAMFEATURES_H
#define QXMPPSTREAMFEATURES_H
#include "QXmppStanza.h"
#include <QSharedDataPointer>
class QXmppStreamFeaturesPrivate;
namespace QXmpp::Private::Sasl2 {
struct StreamFeature;
}
class QXMPP_EXPORT QXmppStreamFeatures : public QXmppNonza
{
public:
QXmppStreamFeatures();
QXmppStreamFeatures(const QXmppStreamFeatures &);
QXmppStreamFeatures(QXmppStreamFeatures &&);
~QXmppStreamFeatures() override;
QXmppStreamFeatures &operator=(const QXmppStreamFeatures &);
QXmppStreamFeatures &operator=(QXmppStreamFeatures &&);
enum Mode {
Disabled = 0,
Enabled,
Required
};
Mode bindMode() const;
void setBindMode(Mode mode);
Mode sessionMode() const;
void setSessionMode(Mode mode);
Mode nonSaslAuthMode() const;
void setNonSaslAuthMode(Mode mode);
QStringList authMechanisms() const;
void setAuthMechanisms(const QStringList &mechanisms);
const std::optional<QXmpp::Private::Sasl2::StreamFeature> &sasl2Feature() const;
void setSasl2Feature(const std::optional<QXmpp::Private::Sasl2::StreamFeature> &);
QStringList compressionMethods() const;
void setCompressionMethods(const QStringList &methods);
Mode tlsMode() const;
void setTlsMode(Mode mode);
Mode streamManagementMode() const;
void setStreamManagementMode(Mode mode);
Mode clientStateIndicationMode() const;
void setClientStateIndicationMode(Mode mode);
Mode registerMode() const;
void setRegisterMode(const Mode &mode);
bool preApprovedSubscriptionsSupported() const;
void setPreApprovedSubscriptionsSupported(bool);
bool rosterVersioningSupported() const;
void setRosterVersioningSupported(bool);
void parse(const QDomElement &element) override;
void toXml(QXmlStreamWriter *writer) const override;
static bool isStreamFeatures(const QDomElement &element);
private:
QSharedDataPointer<QXmppStreamFeaturesPrivate> d;
};
#endif
QXmppNonza
Definition QXmppNonza.h:14
QXmppNonza::parse
virtual void parse(const QDomElement &)=0
QXmppNonza::toXml
virtual void toXml(QXmlStreamWriter *writer) const =0
QXmppStreamFeatures
The QXmppStreamFeatures class represents the features returned by an XMPP server or client.
Definition QXmppStreamFeatures.h:23
QXmppStreamFeatures::QXmppStreamFeatures
QXmppStreamFeatures(const QXmppStreamFeatures &)
Default copy-constructor.
QXmppStreamFeatures::Mode
Mode
Mode of a feature.
Definition QXmppStreamFeatures.h:34
QXmppStreamFeatures::QXmppStreamFeatures
QXmppStreamFeatures(QXmppStreamFeatures &&)
Default move-constructor.
QXmppStreamFeatures::operator=
QXmppStreamFeatures & operator=(const QXmppStreamFeatures &)
Default assignment operator.
QXmppStreamFeatures::operator=
QXmppStreamFeatures & operator=(QXmppStreamFeatures &&)
Default move-assignment operator.