diff options
| author | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2009-10-26 17:01:09 +0000 |
|---|---|---|
| committer | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2009-10-26 17:01:09 +0000 |
| commit | 239b2b15c3cfd9e4d7cc085ed31645d6ae6942ee (patch) | |
| tree | 928a71086a6d328c97ffc468ba4ceb41fc7b6043 /source/QXmppStream.h | |
| parent | f988517a9ba9d9a7753270f1cb0c4c2212c7ac22 (diff) | |
| download | qxmpp-239b2b15c3cfd9e4d7cc085ed31645d6ae6942ee.tar.gz | |
Fix for
Issue 23: QXmppBind compilation error on macosx starting from r23
Issue 26: examples fail to link on macosx and linux
Issue 24: all text files should have the svn property eol-style set
Contributed by: Marco Molteni
Diffstat (limited to 'source/QXmppStream.h')
| -rw-r--r-- | source/QXmppStream.h | 282 |
1 files changed, 141 insertions, 141 deletions
diff --git a/source/QXmppStream.h b/source/QXmppStream.h index b85f1204..05d18f80 100644 --- a/source/QXmppStream.h +++ b/source/QXmppStream.h @@ -1,141 +1,141 @@ -/*
- * Copyright (C) 2008-2009 Manjeet Dahiya
- *
- * 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 "QXmppConfiguration.h"
-#include "QXmppRoster.h"
-#include "QXmppStanza.h"
-#include "QXmppVCardManager.h"
-
-class QDomElement;
-
-class QXmppRoster;
-class QXmppClient;
-class QXmppPacket;
-class QXmppPresence;
-class QXmppIq;
-class QXmppBind;
-class QXmppRosterIq;
-class QXmppVCard;
-class QXmppMessage;
-
-class QXmppStream : public QObject
-{
- Q_OBJECT
-
-public:
- QXmppStream(QXmppClient* client);
- ~QXmppStream();
- void connect();
- void acceptSubscriptionRequest(const QString& from, bool accept = true);
- void sendSubscriptionRequest(const QString& to);
- void disconnect();
- QXmppRoster& getRoster();
- QXmppVCardManager& getVCardManager();
- void sendPacket(const QXmppPacket&);
-
- QAbstractSocket::SocketError getSocketError();
-
-signals:
- // socket host found
- void hostFound();
-
- // socket connected
- void connected();
-
- // socket disconnected
- void disconnected();
-
- // xmpp connected
- void xmppConnected();
-
- void error(QXmppClient::Error);
- void subscriptionRequestReceived(const QString& from);
- void presenceReceived(const QXmppPresence&);
- void messageReceived(const QXmppMessage&);
- void iqReceived(const QXmppIq&);
- void rosterIqReceived(const QXmppRosterIq&);
- void vCardIqReceived(const QXmppVCard&);
-
-private slots:
- void socketHostFound();
- void socketReadReady();
- void socketEncrypted();
- void socketConnected();
- void socketDisconnected();
- void socketError(QAbstractSocket::SocketError);
- void socketSslErrors(const QList<QSslError>&);
-
-private:
- QXmppClient* m_client; // reverse pointer
- QXmppRoster m_roster;
- QString m_sessionId;
- QString m_bindId;
- QString m_rosterReqId;
- QByteArray m_dataBuffer;
- QSslSocket m_socket;
- bool m_sessionAvaliable;
- QAbstractSocket::SocketError m_socketError;
- QString m_streamId;
- QString m_nonSASLAuthId;
- QString m_XMPPVersion;
-// m_xmppStreamError;
-// m_xmppStanzaError;
-
-
- QXmppVCardManager m_vCardManager;
-
- QXmppConfiguration& getConfiguration();
- void parser(const QByteArray&);
- void sendStartStream();
- void sendEndStream();
- void sendStartTls();
- void sendNonSASLAuth(bool);
- void sendNonSASLAuthQuery( const QString &to );
- void sendAuthPlain();
- void sendAuthDigestMD5();
- void sendAuthDigestMD5Response(const QString& challenge);
- void sendBindIQ();
- void sendSessionIQ();
- void sendInitialPresence();
- void sendRosterRequest();
- void sendToServer(const QByteArray&);
- bool hasStartStreamElement(const QByteArray&);
- bool hasEndStreamElement(const QByteArray&);
- QXmppStanza::Error parseStanzaError(QDomElement & errorElement);
-
- void processPresence(const QXmppPresence&);
- void processMessage(const QXmppMessage&);
- void processIq(const QXmppIq&);
- void processBindIq(const QXmppBind&);
- void processRosterIq(const QXmppRosterIq&);
-
- void flushDataBuffer();
-};
-
-#endif // QXMPPSTREAM_H
+/* + * Copyright (C) 2008-2009 Manjeet Dahiya + * + * 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 "QXmppConfiguration.h" +#include "QXmppRoster.h" +#include "QXmppStanza.h" +#include "QXmppVCardManager.h" + +class QDomElement; + +class QXmppRoster; +class QXmppClient; +class QXmppPacket; +class QXmppPresence; +class QXmppIq; +class QXmppBind; +class QXmppRosterIq; +class QXmppVCard; +class QXmppMessage; + +class QXmppStream : public QObject +{ + Q_OBJECT + +public: + QXmppStream(QXmppClient* client); + ~QXmppStream(); + void connect(); + void acceptSubscriptionRequest(const QString& from, bool accept = true); + void sendSubscriptionRequest(const QString& to); + void disconnect(); + QXmppRoster& getRoster(); + QXmppVCardManager& getVCardManager(); + void sendPacket(const QXmppPacket&); + + QAbstractSocket::SocketError getSocketError(); + +signals: + // socket host found + void hostFound(); + + // socket connected + void connected(); + + // socket disconnected + void disconnected(); + + // xmpp connected + void xmppConnected(); + + void error(QXmppClient::Error); + void subscriptionRequestReceived(const QString& from); + void presenceReceived(const QXmppPresence&); + void messageReceived(const QXmppMessage&); + void iqReceived(const QXmppIq&); + void rosterIqReceived(const QXmppRosterIq&); + void vCardIqReceived(const QXmppVCard&); + +private slots: + void socketHostFound(); + void socketReadReady(); + void socketEncrypted(); + void socketConnected(); + void socketDisconnected(); + void socketError(QAbstractSocket::SocketError); + void socketSslErrors(const QList<QSslError>&); + +private: + QXmppClient* m_client; // reverse pointer + QXmppRoster m_roster; + QString m_sessionId; + QString m_bindId; + QString m_rosterReqId; + QByteArray m_dataBuffer; + QSslSocket m_socket; + bool m_sessionAvaliable; + QAbstractSocket::SocketError m_socketError; + QString m_streamId; + QString m_nonSASLAuthId; + QString m_XMPPVersion; +// m_xmppStreamError; +// m_xmppStanzaError; + + + QXmppVCardManager m_vCardManager; + + QXmppConfiguration& getConfiguration(); + void parser(const QByteArray&); + void sendStartStream(); + void sendEndStream(); + void sendStartTls(); + void sendNonSASLAuth(bool); + void sendNonSASLAuthQuery( const QString &to ); + void sendAuthPlain(); + void sendAuthDigestMD5(); + void sendAuthDigestMD5Response(const QString& challenge); + void sendBindIQ(); + void sendSessionIQ(); + void sendInitialPresence(); + void sendRosterRequest(); + void sendToServer(const QByteArray&); + bool hasStartStreamElement(const QByteArray&); + bool hasEndStreamElement(const QByteArray&); + QXmppStanza::Error parseStanzaError(QDomElement & errorElement); + + void processPresence(const QXmppPresence&); + void processMessage(const QXmppMessage&); + void processIq(const QXmppIq&); + void processBindIq(const QXmppBind&); + void processRosterIq(const QXmppRosterIq&); + + void flushDataBuffer(); +}; + +#endif // QXMPPSTREAM_H |
