QXmpp Version: 1.7.0
QXmppConfiguration.h
1// SPDX-FileCopyrightText: 2009 Manjeet Dahiya <manjeetdahiya@gmail.com>
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4
5#ifndef QXMPPCONFIGURATION_H
6#define QXMPPCONFIGURATION_H
7
8#include "QXmppGlobal.h"
9
10#include <optional>
11
12#include <QSharedDataPointer>
13#include <QString>
14
15class QNetworkProxy;
16class QSslCertificate;
17class QXmppConfigurationPrivate;
18class QXmppSasl2UserAgent;
19
31class QXMPP_EXPORT QXmppConfiguration
32{
33public:
38 TLSEnabled = 0,
40 TLSRequired,
42 LegacySSL
43 };
44
49 NonSASLPlain = 0,
50 NonSASLDigest
51 };
52
57
62
63 QString host() const;
64 void setHost(const QString &);
65
66 QString domain() const;
67 void setDomain(const QString &);
68
69 int port() const;
70 void setPort(int);
71
72 QString user() const;
73 void setUser(const QString &);
74
75 QString password() const;
76 void setPassword(const QString &);
77
78 QString resource() const;
79 void setResource(const QString &);
80
81 QString jid() const;
82 void setJid(const QString &jid);
83
84 QString jidBare() const;
85
86 QString facebookAccessToken() const;
87 void setFacebookAccessToken(const QString &);
88
89 QString facebookAppId() const;
90 void setFacebookAppId(const QString &);
91
92 QString googleAccessToken() const;
93 void setGoogleAccessToken(const QString &accessToken);
94
95 QString windowsLiveAccessToken() const;
96 void setWindowsLiveAccessToken(const QString &accessToken);
97
98 bool autoAcceptSubscriptions() const;
99 void setAutoAcceptSubscriptions(bool);
100
101 bool autoReconnectionEnabled() const;
102 void setAutoReconnectionEnabled(bool);
103
104 bool useSasl2Authentication() const;
105 void setUseSasl2Authentication(bool);
106
107 bool useSASLAuthentication() const;
108 void setUseSASLAuthentication(bool);
109
110 bool useNonSASLAuthentication() const;
111 void setUseNonSASLAuthentication(bool);
112
113 bool ignoreSslErrors() const;
114 void setIgnoreSslErrors(bool);
115
116 QXmppConfiguration::StreamSecurityMode streamSecurityMode() const;
117 void setStreamSecurityMode(QXmppConfiguration::StreamSecurityMode mode);
118
119 QXmppConfiguration::NonSASLAuthMechanism nonSASLAuthMechanism() const;
120 void setNonSASLAuthMechanism(QXmppConfiguration::NonSASLAuthMechanism);
121
122 QString saslAuthMechanism() const;
123 void setSaslAuthMechanism(const QString &mechanism);
124
125 QList<QString> disabledSaslMechanisms() const;
126 void addDisabledSaslMechanism(const QString &);
127 void setDisabledSaslMechanisms(const QList<QString> &);
128
129 std::optional<QXmppSasl2UserAgent> sasl2UserAgent() const;
130 void setSasl2UserAgent(const std::optional<QXmppSasl2UserAgent> &);
131
132 QNetworkProxy networkProxy() const;
133 void setNetworkProxy(const QNetworkProxy &proxy);
134
135 int keepAliveInterval() const;
136 void setKeepAliveInterval(int secs);
137
138 int keepAliveTimeout() const;
139 void setKeepAliveTimeout(int secs);
140
141 QList<QSslCertificate> caCertificates() const;
142 void setCaCertificates(const QList<QSslCertificate> &);
143
144private:
145 QSharedDataPointer<QXmppConfigurationPrivate> d;
146};
147
148#endif // QXMPPCONFIGURATION_H
The QXmppConfiguration class holds configuration options.
Definition: QXmppConfiguration.h:32
StreamSecurityMode
Definition: QXmppConfiguration.h:37
@ TLSDisabled
No encryption even if the server offers it.
Definition: QXmppConfiguration.h:39
QXmppConfiguration & operator=(const QXmppConfiguration &other)
Assigns other to this QXmppConfiguration.
QXmppConfiguration(const QXmppConfiguration &other)
Creates a copy of other.
NonSASLAuthMechanism
Definition: QXmppConfiguration.h:48