QXmppConfiguration.h

    00001 /*
    00002  * Copyright (C) 2008-2011 The QXmpp developers
    00003  *
    00004  * Author:
    00005  *  Manjeet Dahiya
    00006  *
    00007  * Source:
    00008  *  http://code.google.com/p/qxmpp
    00009  *
    00010  * This file is a part of QXmpp library.
    00011  *
    00012  * This library is free software; you can redistribute it and/or
    00013  * modify it under the terms of the GNU Lesser General Public
    00014  * License as published by the Free Software Foundation; either
    00015  * version 2.1 of the License, or (at your option) any later version.
    00016  *
    00017  * This library is distributed in the hope that it will be useful,
    00018  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00020  * Lesser General Public License for more details.
    00021  *
    00022  */
    00023
    00024
    00025 #ifndef QXMPPCONFIGURATION_H
    00026 #define QXMPPCONFIGURATION_H
    00027
    00028 #include <QString>
    00029 #include <QNetworkProxy>
    00030 #include <QSslCertificate>
    00031
    00042
    00043 class QXmppConfiguration
    00044 {
    00045 public:
    00049     enum StreamSecurityMode
    00050     {
    00051         TLSEnabled = 0,
    00052         TLSDisabled,
    00053         TLSRequired
    00054
    00055     };
    00056
    00060     enum NonSASLAuthMechanism
    00061     {
    00062         NonSASLPlain = 0,
    00063         NonSASLDigest
    00064     };
    00065
    00070     enum SASLAuthMechanism
    00071     {
    00072         SASLPlain = 0,
    00073         SASLDigestMD5,
    00074         SASLAnonymous,
    00075         SASLXFacebookPlatform,
    00076     };
    00077
    00079     enum CompressionMethod
    00080     {
    00081         ZlibCompression = 0
    00082     };
    00083
    00084     QXmppConfiguration();
    00085     ~QXmppConfiguration();
    00086
    00087     QString host() const;
    00088     void setHost(const QString&);
    00089
    00090     QString domain() const;
    00091     void setDomain(const QString&);
    00092
    00093     int port() const;
    00094     void setPort(int);
    00095
    00096     QString user() const;
    00097     void setUser(const QString&);
    00098
    00099     QString password() const;
    00100     void setPassword(const QString&);
    00101
    00102     QString resource() const;
    00103     void setResource(const QString&);
    00104
    00105     QString jid() const;
    00106     void setJid(const QString &jid);
    00107
    00108     QString jidBare() const;
    00109
    00110     QString facebookAccessToken() const;
    00111     void setFacebookAccessToken(const QString&);
    00112
    00113     QString facebookAppId() const;
    00114     void setFacebookAppId(const QString&);
    00115
    00116     bool autoAcceptSubscriptions() const;
    00117     void setAutoAcceptSubscriptions(bool);
    00118
    00119     bool autoReconnectionEnabled() const;
    00120     void setAutoReconnectionEnabled(bool);
    00121
    00122     bool useSASLAuthentication() const;
    00123     void setUseSASLAuthentication(bool);
    00124
    00125     bool ignoreSslErrors() const;
    00126     void setIgnoreSslErrors(bool);
    00127
    00128     QXmppConfiguration::StreamSecurityMode streamSecurityMode() const;
    00129     void setStreamSecurityMode(QXmppConfiguration::StreamSecurityMode mode);
    00130
    00131     QXmppConfiguration::NonSASLAuthMechanism nonSASLAuthMechanism() const;
    00132     void setNonSASLAuthMechanism(QXmppConfiguration::NonSASLAuthMechanism);
    00133
    00134     QXmppConfiguration::SASLAuthMechanism sASLAuthMechanism() const;
    00135     void setSASLAuthMechanism(QXmppConfiguration::SASLAuthMechanism);
    00136
    00137     QNetworkProxy networkProxy() const;
    00138     void setNetworkProxy(const QNetworkProxy& proxy);
    00139
    00140     int keepAliveInterval() const;
    00141     void setKeepAliveInterval(int secs);
    00142
    00143     int keepAliveTimeout() const;
    00144     void setKeepAliveTimeout(int secs);
    00145
    00146     QList<QSslCertificate> caCertificates() const;
    00147     void setCaCertificates(const QList<QSslCertificate> &);
    00148
    00149 private:
    00150     QString m_host;
    00151     int m_port;
    00152     QString m_user;
    00153     QString m_password;
    00154     QString m_domain;
    00155     QString m_resource;
    00156
    00157     // Facebook
    00158     QString m_facebookAccessToken;
    00159     QString m_facebookAppId;
    00160
    00161     // default is false
    00162     bool m_autoAcceptSubscriptions;
    00163     // default is true
    00164     bool m_sendIntialPresence;
    00165     // default is true
    00166     bool m_sendRosterRequest;
    00167     // interval in seconds, if zero won't ping
    00168     int m_keepAliveInterval;
    00169     // interval in seconds, if zero won't timeout
    00170     int m_keepAliveTimeout;
    00171     // will keep reconnecting if disconnected, default is true
    00172     bool m_autoReconnectionEnabled;
    00173     bool m_useSASLAuthentication;
    00174
    00175
    00176
    00177     // default is true
    00178     bool m_ignoreSslErrors;
    00179
    00180     StreamSecurityMode m_streamSecurityMode;
    00181     NonSASLAuthMechanism m_nonSASLAuthMechanism;
    00182     SASLAuthMechanism m_SASLAuthMechanism;
    00183
    00184     QNetworkProxy m_networkProxy;
    00185
    00186     QList<QSslCertificate> m_caCertificates;
    00187 };
    00188
    00189 #endif // QXMPPCONFIGURATION_H

All Classes Functions Enumerations Enumerator Properties