QXmpp Version: 1.10.0
Public Types | Public Member Functions | List of all members
QXmppConfiguration Class Reference

The QXmppConfiguration class holds configuration options. More...

#include <QXmppConfiguration.h>

Public Types

enum  StreamSecurityMode { TLSEnabled = 0 , TLSDisabled , TLSRequired , LegacySSL }
 
enum  NonSASLAuthMechanism { NonSASLPlain = 0 , NonSASLDigest }
 

Public Member Functions

 QXmppConfiguration ()
 Creates a QXmppConfiguration object.
 
 QXmppConfiguration (const QXmppConfiguration &other)
 Creates a copy of other.
 
QXmppConfigurationoperator= (const QXmppConfiguration &other)
 Assigns other to this QXmppConfiguration.
 
QString host () const
 Returns the custom hostname to connect to.
 
void setHost (const QString &)
 
QString domain () const
 Returns the domain part of the JID.
 
void setDomain (const QString &)
 
int port () const
 Returns the port number.
 
quint16 port16 () const
 
void setPort (int)
 
QString user () const
 Returns the localpart of the JID.
 
void setUser (const QString &)
 
QString password () const
 Returns the password.
 
void setPassword (const QString &)
 
QString resource () const
 Returns the resource identifier.
 
void setResource (const QString &)
 
QString resourcePrefix () const
 
void setResourcePrefix (const QString &)
 
QString jid () const
 
void setJid (const QString &jid)
 
QString jidBare () const
 
QXmppCredentials credentials () const
 
void setCredentials (const QXmppCredentials &)
 
QString facebookAccessToken () const
 Returns the access token used for X-FACEBOOK-PLATFORM authentication.
 
void setFacebookAccessToken (const QString &)
 
QString facebookAppId () const
 Returns the application ID used for X-FACEBOOK-PLATFORM authentication.
 
void setFacebookAppId (const QString &)
 Sets the application ID used for X-FACEBOOK-PLATFORM authentication.
 
QString googleAccessToken () const
 Returns the access token used for X-OAUTH2 authentication.
 
void setGoogleAccessToken (const QString &accessToken)
 
QString windowsLiveAccessToken () const
 Returns the access token used for X-MESSENGER-OAUTH2 authentication.
 
void setWindowsLiveAccessToken (const QString &accessToken)
 
bool autoAcceptSubscriptions () const
 
void setAutoAcceptSubscriptions (bool)
 
bool autoReconnectionEnabled () const
 
void setAutoReconnectionEnabled (bool)
 
bool useSasl2Authentication () const
 
void setUseSasl2Authentication (bool)
 
bool useFastTokenAuthentication () const
 
void setUseFastTokenAuthentication (bool)
 
bool useSASLAuthentication () const
 Returns whether to make use of SASL authentication.
 
void setUseSASLAuthentication (bool)
 Sets whether to make use of SASL authentication.
 
bool useNonSASLAuthentication () const
 Returns whether to make use of non-SASL authentication.
 
void setUseNonSASLAuthentication (bool)
 Sets whether to make use of non-SASL authentication.
 
bool ignoreSslErrors () const
 
void setIgnoreSslErrors (bool)
 
QXmppConfiguration::StreamSecurityMode streamSecurityMode () const
 
void setStreamSecurityMode (QXmppConfiguration::StreamSecurityMode mode)
 
QXmppConfiguration::NonSASLAuthMechanism nonSASLAuthMechanism () const
 Returns the Non-SASL authentication mechanism configuration.
 
void setNonSASLAuthMechanism (QXmppConfiguration::NonSASLAuthMechanism)
 Hints the library the Non-SASL authentication mechanism to be used for authentication.
 
QString saslAuthMechanism () const
 Returns the preferred SASL authentication mechanism.
 
void setSaslAuthMechanism (const QString &mechanism)
 
QList< QString > disabledSaslMechanisms () const
 
void addDisabledSaslMechanism (const QString &)
 
void setDisabledSaslMechanisms (const QList< QString > &)
 
std::optional< QXmppSasl2UserAgent > sasl2UserAgent () const
 
void setSasl2UserAgent (const std::optional< QXmppSasl2UserAgent > &)
 
QNetworkProxy networkProxy () const
 
void setNetworkProxy (const QNetworkProxy &proxy)
 
int keepAliveInterval () const
 
void setKeepAliveInterval (int secs)
 
int keepAliveTimeout () const
 
void setKeepAliveTimeout (int secs)
 
QList< QSslCertificate > caCertificates () const
 Returns the a list of trusted CA certificates.
 
void setCaCertificates (const QList< QSslCertificate > &)
 Specifies a list of trusted CA certificates.
 

Detailed Description

The QXmppConfiguration class holds configuration options.

It can be passed to QXmppClient to specify the options when connecting to an XMPP server.

It is a container of all the settings, configuration required for connecting to an XMPP server. E.g. server name, username, port, type of authentication mechanism, type of security used by stream (encryption), etc..

Member Enumeration Documentation

◆ NonSASLAuthMechanism

An enumeration for various Non-SASL authentication mechanisms available. The server may or may not allow QXmppConfiguration::Plain mechanism. So specifying the mechanism is just a hint to the library.

Enumerator
NonSASLPlain 

Plain.

NonSASLDigest 

Digest (default)

◆ StreamSecurityMode

An enumeration for type of the Security Mode that is stream is encrypted or not. The server may or may not have TLS feature. Server may force the encryption. Depending upon all this user can specify following options.

Enumerator
TLSEnabled 

Encryption is used if available (default).

TLSDisabled 

No encryption even if the server offers it.

TLSRequired 

Encryption must be available, otherwise the connection will not be established.

LegacySSL 

Use direct TLS connection only and connect to configured host and port or domain and 5223 or 5222. No SRV records are looked up.

Member Function Documentation

◆ addDisabledSaslMechanism()

void QXmppConfiguration::addDisabledSaslMechanism ( const QString &  m)

Adds to the list of disabled SASL mechanisms.

Those mechanisms are not used by the client, even if no other mechanism is available.

Since
QXmpp 1.7

◆ autoAcceptSubscriptions()

bool QXmppConfiguration::autoAcceptSubscriptions ( ) const

Returns the auto-accept-subscriptions-request configuration.

Returns
boolean value true means that auto-accept-subscriptions-request is enabled else disabled for false

◆ autoReconnectionEnabled()

bool QXmppConfiguration::autoReconnectionEnabled ( ) const

Returns the auto-reconnect-on-disconnection-on-error configuration.

Returns
boolean value true means that auto-reconnect is enabled else disabled for false

◆ credentials()

QXmppCredentials QXmppConfiguration::credentials ( ) const

Returns the credentials of this configuration.

Since
QXmpp 1.8

◆ disabledSaslMechanisms()

QList< QString > QXmppConfiguration::disabledSaslMechanisms ( ) const

Returns the list of disabled SASL mechanisms.

Those mechanisms are not used by the client, even if no other mechanism is available.

Since
QXmpp 1.7

◆ ignoreSslErrors()

bool QXmppConfiguration::ignoreSslErrors ( ) const

Returns whether SSL errors (such as certificate validation errors) are to be ignored when connecting to the XMPP server.

◆ jid()

QString QXmppConfiguration::jid ( ) const

Returns the Jabber-ID (JID).

Returns
Jabber-ID (JID) (e.g. "qxmpp.test1@gmail.com/resource" or qxmpp.nosp@m.test.nosp@m.@jabb.nosp@m.er.o.nosp@m.rg/QXmpp156)

◆ jidBare()

QString QXmppConfiguration::jidBare ( ) const

Returns the bare jabber id (jid), without the resource identifier.

Returns
bare jabber id (jid) (e.g. "qxmpp.test1@gmail.com" or qxmpp.nosp@m.test.nosp@m.@jabb.nosp@m.er.o.nosp@m.rg)

◆ keepAliveInterval()

int QXmppConfiguration::keepAliveInterval ( ) const

Returns the keep alive interval in seconds.

The default value is 60 seconds.

◆ keepAliveTimeout()

int QXmppConfiguration::keepAliveTimeout ( ) const

Returns the keep alive timeout in seconds.

The default value is 20 seconds.

◆ networkProxy()

QNetworkProxy QXmppConfiguration::networkProxy ( ) const

Returns the specified network proxy. The default value is QNetworkProxy::DefaultProxy that is the proxy is determined based on the application proxy set using QNetworkProxy::setApplicationProxy().

◆ port16()

quint16 QXmppConfiguration::port16 ( ) const

Returns the port number as quint16.

Since
QXmpp 1.8

◆ resourcePrefix()

QString QXmppConfiguration::resourcePrefix ( ) const

Returns the resource prefix ('tag' for this client) used when XEP-0386: Bind 2 is available.

Since
QXmpp 1.8

◆ sasl2UserAgent()

std::optional< QXmppSasl2UserAgent > QXmppConfiguration::sasl2UserAgent ( ) const

Returns the user-agent used for XEP-0388: Extensible SASL Profile.

If this is empty, no user-agent will be sent.

Since
QXmpp 1.7

◆ setAutoAcceptSubscriptions()

void QXmppConfiguration::setAutoAcceptSubscriptions ( bool  value)

Sets the auto-accept-subscriptions-request configuration.

Parameters
valueboolean value true means that auto-accept-subscriptions-request is enabled else disabled for false

◆ setAutoReconnectionEnabled()

void QXmppConfiguration::setAutoReconnectionEnabled ( bool  value)

Sets the auto-reconnect-on-disconnection-on-error configuration.

Parameters
valueboolean value true means that auto-reconnect is enabled else disabled for false

◆ setCredentials()

void QXmppConfiguration::setCredentials ( const QXmppCredentials credentials)

Sets the credentials for this configuration.

Since
QXmpp 1.8

◆ setDisabledSaslMechanisms()

void QXmppConfiguration::setDisabledSaslMechanisms ( const QList< QString > &  disabled)

Sets the list of disabled SASL mechanisms.

Those mechanisms are not used by the client, even if no other mechanism is available.

Since
QXmpp 1.7

◆ setDomain()

void QXmppConfiguration::setDomain ( const QString &  domain)

Sets the domain name.

Parameters
domainDomain name e.g. "gmail.com" and "jabber.org".
Note
host name and domain name can be different for google domain name is gmail.com and host name is talk.google.com

◆ setFacebookAccessToken()

void QXmppConfiguration::setFacebookAccessToken ( const QString &  accessToken)

Sets the access token used for X-FACEBOOK-PLATFORM authentication.

This token is returned by Facebook at the end of the OAuth authentication process.

◆ setGoogleAccessToken()

void QXmppConfiguration::setGoogleAccessToken ( const QString &  accessToken)

Sets the access token used for X-OAUTH2 authentication.

This token is returned by Google at the end of the OAuth authentication process.

◆ setHost()

void QXmppConfiguration::setHost ( const QString &  host)

Sets the host name.

Parameters
hosthost name of the XMPP server where connection has to be made (e.g. "jabber.org" and "talk.google.com"). It can also be an IP address in the form of a string (e.g. "192.168.1.25").

◆ setIgnoreSslErrors()

void QXmppConfiguration::setIgnoreSslErrors ( bool  value)

Specifies whether SSL errors (such as certificate validation errors) are to be ignored when connecting to an XMPP server.

◆ setJid()

void QXmppConfiguration::setJid ( const QString &  jid)

Sets the JID. If a full JID (i.e. one with a resource) is given, calling this method will update the username, domain and resource. Otherwise, only the username and the domain will be updated.

◆ setKeepAliveInterval()

void QXmppConfiguration::setKeepAliveInterval ( int  secs)

Specifies the interval in seconds at which keep alive (ping) packets will be sent to the server.

If set to zero, no keep alive packets will be sent.

The default value is 60 seconds.

◆ setKeepAliveTimeout()

void QXmppConfiguration::setKeepAliveTimeout ( int  secs)

Specifies the maximum time in seconds to wait for a keep alive response from the server before considering we are disconnected.

If set to zero or a value larger than the keep alive interval, no timeout will occur.

The default value is 20 seconds.

◆ setNetworkProxy()

void QXmppConfiguration::setNetworkProxy ( const QNetworkProxy &  proxy)

Specifies the network proxy used for the connection made by QXmppClient. The default value is QNetworkProxy::DefaultProxy that is the proxy is determined based on the application proxy set using QNetworkProxy::setApplicationProxy().

◆ setPassword()

void QXmppConfiguration::setPassword ( const QString &  password)

Sets the password.

Parameters
passwordPassword for the specified username

◆ setPort()

void QXmppConfiguration::setPort ( int  port)

Sets the port number.

Parameters
portPort number at which the XMPP server is listening. The default value is 5222.

◆ setResource()

void QXmppConfiguration::setResource ( const QString &  resource)

Sets the resource identifier.

Multiple resources (e.g., devices or locations) may connect simultaneously to a server on behalf of each authorized client, with each resource differentiated by the resource identifier of an XMPP address (e.g. node@domain/home vs. node@domain/work)

The default value is "QXmpp".

Parameters
resourceResource identifier of the client in connection.

◆ setResourcePrefix()

void QXmppConfiguration::setResourcePrefix ( const QString &  resourcePrefix)

Sets the resource prefix ('tag' for this client) used when XEP-0386: Bind 2 is available.

Since
QXmpp 1.8

◆ setSasl2UserAgent()

void QXmppConfiguration::setSasl2UserAgent ( const std::optional< QXmppSasl2UserAgent > &  userAgent)

Sets the user-agent used for XEP-0388: Extensible SASL Profile.

If this is empty, no user-agent will be sent.

Since
QXmpp 1.7

◆ setSaslAuthMechanism()

void QXmppConfiguration::setSaslAuthMechanism ( const QString &  mechanism)

Sets the preferred SASL authentication mechanism.

Valid values: "SCRAM-SHA-256", "SCRAM-SHA-1", "DIGEST-MD5", "PLAIN", "ANONYMOUS",

◆ setStreamSecurityMode()

void QXmppConfiguration::setStreamSecurityMode ( QXmppConfiguration::StreamSecurityMode  mode)

Specifies the specified security mode for the stream. The default value is QXmppConfiguration::TLSEnabled.

◆ setUseFastTokenAuthentication()

void QXmppConfiguration::setUseFastTokenAuthentication ( bool  useFast)

Sets whether to use FAST token-based authentication from XEP-0484: Fast Authentication Streamlining Tokens if available.

Note that FAST requires a valid SASL 2 user-agent to be set.

Since
QXmpp 1.8

◆ setUser()

void QXmppConfiguration::setUser ( const QString &  user)

Sets the username.

Parameters
userUsername of the account at the specified XMPP server. It should be the name without the domain name. E.g. "qxmpp.test1" and not "qxmpp.test1@gmail.com"

◆ setUseSasl2Authentication()

void QXmppConfiguration::setUseSasl2Authentication ( bool  enabled)

Sets whether to use SASL 2 (XEP-0388: Extensible SASL Profile) authentication if available.

Since
QXmpp 1.7

◆ setWindowsLiveAccessToken()

void QXmppConfiguration::setWindowsLiveAccessToken ( const QString &  accessToken)

Sets the access token used for X-MESSENGER-OAUTH2 authentication.

This token is returned by Windows Live at the end of the OAuth authentication process.

◆ streamSecurityMode()

QXmppConfiguration::StreamSecurityMode QXmppConfiguration::streamSecurityMode ( ) const

Returns the specified security mode for the stream. The default value is QXmppConfiguration::TLSEnabled.

◆ useFastTokenAuthentication()

bool QXmppConfiguration::useFastTokenAuthentication ( ) const

Returns whether to use FAST token-based authentication from XEP-0484: Fast Authentication Streamlining Tokens if available.

Note that FAST requires a valid SASL 2 user-agent to be set.

Since
QXmpp 1.8

◆ useSasl2Authentication()

bool QXmppConfiguration::useSasl2Authentication ( ) const

Returns whether SASL 2 (XEP-0388: Extensible SASL Profile) authentication is used if available.


The documentation for this class was generated from the following files: