diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-08-11 07:31:23 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-08-11 07:31:23 +0000 |
| commit | 40c39853816cfab113d79682c34bc76a2c79c357 (patch) | |
| tree | e4d6a184cf565cb87477339ce738299ff9787bc3 /source/QXmppStream.h | |
| parent | 551c284e35280b7b91a939fe7352e496ffea402a (diff) | |
| download | qxmpp-40c39853816cfab113d79682c34bc76a2c79c357.tar.gz | |
rename "source" directory to "src"
Diffstat (limited to 'source/QXmppStream.h')
| -rw-r--r-- | source/QXmppStream.h | 188 |
1 files changed, 0 insertions, 188 deletions
diff --git a/source/QXmppStream.h b/source/QXmppStream.h deleted file mode 100644 index 139635e0..00000000 --- a/source/QXmppStream.h +++ /dev/null @@ -1,188 +0,0 @@ -/* - * Copyright (C) 2008-2010 The QXmpp developers - * - * Author: - * Manjeet Dahiya - * - * Source: - * http://code.google.com/p/qxmpp - * - * This file is a part of QXmpp library. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - */ - - -#ifndef QXMPPSTREAM_H -#define QXMPPSTREAM_H - -#include <QObject> -#include <QSslSocket> -#include "QXmppClient.h" -#include "QXmppConfiguration.h" -#include "QXmppLogger.h" -#include "QXmppStanza.h" - -class QDomElement; -class QTimer; - -class QXmppClient; -class QXmppPacket; -class QXmppPresence; -class QXmppIq; -class QXmppBind; -class QXmppRosterIq; -class QXmppVCard; -class QXmppMessage; -class QXmppRpcResponseIq; -class QXmppRpcErrorIq; -class QXmppArchiveChatIq; -class QXmppArchiveListIq; -class QXmppArchivePrefIq; -class QXmppByteStreamIq; -class QXmppDiscoveryIq; -class QXmppIbbCloseIq; -class QXmppIbbDataIq; -class QXmppIbbOpenIq; -class QXmppJingleIq; -class QXmppMucAdminIq; -class QXmppMucOwnerIq; -class QXmppStreamInitiationIq; -class QXmppStreamPrivate; -class QXmppVersionIq; - -class QXmppStream : public QObject -{ - Q_OBJECT - -public: - QXmppStream(QObject *parent); - ~QXmppStream(); - void connect(); - void acceptSubscriptionRequest(const QString& from, bool accept = true); - void sendSubscriptionRequest(const QString& to); - void disconnect(); - bool isConnected() const; - bool sendPacket(const QXmppPacket&); - - QAbstractSocket::SocketError socketError(); - QXmppStanza::Error::Condition xmppStreamError(); - - QXmppConfiguration& configuration(); - - QXmppLogger *logger(); - void setLogger(QXmppLogger *logger); - - QXmppElementList presenceExtensions() const; - -signals: - // socket host found - void hostFound(); - - // socket connected - void connected(); - - // socket disconnected - void disconnected(); - - // xmpp connected - void xmppConnected(); - - /// This signal is emitted to send logging messages. - void logMessage(QXmppLogger::MessageType type, const QString &msg); - - void error(QXmppClient::Error); - void elementReceived(const QDomElement &element, bool &handled); - void presenceReceived(const QXmppPresence&); - void messageReceived(const QXmppMessage&); - void iqReceived(const QXmppIq&); - void rosterIqReceived(const QXmppRosterIq&); - void vCardIqReceived(const QXmppVCard&); - - void rpcCallInvoke(const QXmppRpcInvokeIq &invoke); - void rpcCallResponse(const QXmppRpcResponseIq& result); - void rpcCallError(const QXmppRpcErrorIq &err); - - void archiveChatIqReceived(const QXmppArchiveChatIq&); - void archiveListIqReceived(const QXmppArchiveListIq&); - void archivePrefIqReceived(const QXmppArchivePrefIq&); - - void discoveryIqReceived(const QXmppDiscoveryIq&); - - void byteStreamIqReceived(const QXmppByteStreamIq&); - void ibbCloseIqReceived(const QXmppIbbCloseIq&); - void ibbDataIqReceived(const QXmppIbbDataIq&); - void ibbOpenIqReceived(const QXmppIbbOpenIq&); - void streamInitiationIqReceived(const QXmppStreamInitiationIq&); - - // XEP-0045: Multi-User Chat - void mucAdminIqReceived(const QXmppMucAdminIq&); - void mucOwnerIqReceived(const QXmppMucOwnerIq&); - - // XEP-0166: Jingle - void jingleIqReceived(const QXmppJingleIq&); - -private slots: - void socketHostFound(); - void socketReadReady(); - void socketEncrypted(); - void socketConnected(); - void socketDisconnected(); - void socketError(QAbstractSocket::SocketError); - void socketSslErrors(const QList<QSslError>&); - - void pingStart(); - void pingStop(); - void pingSend(); - void pingTimeout(); - -private: - QXmppConfiguration m_config; ///< This object provides the configuration - ///< required for connecting to the XMPP server. - QXmppLogger* m_logger; - QString m_sessionId; - QString m_bindId; - QByteArray m_dataBuffer; - bool m_sessionAvailable; - QString m_streamId; - QString m_nonSASLAuthId; - QString m_XMPPVersion; - QXmppStanza::Error::Condition m_xmppStreamError; - QTimer *m_pingTimer; - QTimer *m_timeoutTimer; - - int m_authStep; - - QXmppDiscoveryIq capabilities() const; - void debug(const QString&); - void info(const QString&); - void warning(const QString&); - void parser(const QByteArray&); - void sendStartStream(); - void sendEndStream(); - void sendNonSASLAuth(bool); - void sendNonSASLAuthQuery( const QString &to ); - void sendAuthDigestMD5ResponseStep1(const QString& challenge); - void sendAuthDigestMD5ResponseStep2(); - void sendBindIQ(); - void sendSessionIQ(); - void sendRosterRequest(); - bool sendToServer(const QByteArray&); - bool hasStartStreamElement(const QByteArray&); - bool hasEndStreamElement(const QByteArray&); - - void flushDataBuffer(); - - QXmppStreamPrivate * const d; -}; - -#endif // QXMPPSTREAM_H |
