QXmpp  Version: 1.7.1
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 
15 class QNetworkProxy;
16 class QSslCertificate;
17 class QXmppConfigurationPrivate;
18 class QXmppSasl2UserAgent;
19 
31 class QXMPP_EXPORT QXmppConfiguration
32 {
33 public:
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 
144 private:
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