From 239b2b15c3cfd9e4d7cc085ed31645d6ae6942ee Mon Sep 17 00:00:00 2001 From: Manjeet Dahiya Date: Mon, 26 Oct 2009 17:01:09 +0000 Subject: 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 --- source/QXmppClient.h | 320 +++++++++++++++++++++++++-------------------------- 1 file changed, 160 insertions(+), 160 deletions(-) (limited to 'source/QXmppClient.h') diff --git a/source/QXmppClient.h b/source/QXmppClient.h index 04fbd196..5e5f3099 100644 --- a/source/QXmppClient.h +++ b/source/QXmppClient.h @@ -1,160 +1,160 @@ -/* - * 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. - * - */ - -/// \class QXmppClient -/// \brief The QXmppClient is the main class for using QXmpp. -/// -/// It provides the user all the required functionality to connect to the server -/// and perform operations afterwards. -/// -/// This class will provide the handle/reference to QXmppRoster (roster management), -/// QXmppVCardManager (vCard manager) and QXmppReconnectionManager (reconnection -/// mechanism). -/// -/// By default, a reconnection mechanism exists, which makes sure of reconnecting -/// to the server on dissconnections due to an error. User can have a custom -/// reconnection mechanism as well. -/// - -#ifndef QXMPPCLIENT_H -#define QXMPPCLIENT_H - -#include -#include -#include "QXmppConfiguration.h" -#include "QXmppPresence.h" - -class QXmppStream; -class QXmppPresence; -class QXmppMessage; -class QXmppPacket; -class QXmppIq; -class QXmppRoster; -class QXmppReconnectionManager; -class QXmppVCardManager; - -class QXmppClient : public QObject -{ - Q_OBJECT - -public: - /// An enumeration for type of error. - /// Error could come due a TCP socket or XML stream or due to various stanzas. - enum Error - { - SocketError, ///< Error due to TCP socket - XmppStreamError, ///< Error due to XML stream - XmppStanzaError ///< Error due to stanza - }; - - QXmppClient(QObject *parent = 0); - ~QXmppClient(); - void connectToServer(const QString& host, - const QString& user, - const QString& passwd, - const QString& domain, - int port = 5222, - const QXmppPresence& initialPresence = - QXmppPresence()); - void connectToServer(const QXmppConfiguration&, - const QXmppPresence& initialPresence = - QXmppPresence()); - void disconnect(); - QXmppRoster& getRoster(); - QXmppConfiguration& getConfiguration(); - const QXmppConfiguration& getConfiguration() const; - QXmppReconnectionManager* getReconnectionManager(); - bool setReconnectionManager(QXmppReconnectionManager*); - const QXmppPresence& getClientPresence() const; - QXmppVCardManager& getVCardManager(); - -signals: - - /// This signal is emitted when the client connects sucessfully to the XMPP - /// server i.e. when a successful XMPP connection is established. - /// XMPP Connection involves following sequential steps: - /// - TCP socket connection - /// - Client sends start stream - /// - Server sends start stream - /// - TLS negotiation (encryption) - /// - Authentication - /// - Resource binding - /// - Session establishment - /// - /// After all these steps a successful XMPP connection is established and - /// connected() signal is emitted. - /// - void connected(); - - /// This signal is emitted when the XMPP connection disconnects. - /// - void disconnected(); - - /// This signal is emitted when the XMPP connection encounters any error. - /// The QXmppClient::Error parameter specifies the type of error occured. - /// It could be due to TCP socket or the xml stream or the stanza. - /// Depending upon the type of error occured use the respective get function to - /// know the error. - void error(QXmppClient::Error); - - /// Notifies that an XMPP message stanza is received. The QXmppMessage - /// parameter contains the details of the message sent to this client. - /// In other words whenever someone sends you a message this signal is - /// emitted. - void messageReceived(const QXmppMessage&); - - /// Notifies that an XMPP presence stanza is received. The QXmppPresence - /// parameter contains the details of the presence sent to this client. - /// This signal is emitted when someone login/logout or when someone's status - /// changes Busy, Idle, Invisible etc. - void presenceReceived(const QXmppPresence&); - - /// Notifies that an XMPP iq stanza is received. The QXmppIq - /// parameter contains the details of the iq sent to this client. - /// IQ stanzas provide a structured request-response mechanism. Roster - /// management, setting-getting vCards etc is done using iq stanzas. - void iqReceived(const QXmppIq&); - -public: - QAbstractSocket::SocketError getSocketError(); -// QXmppStanza::Error getXmppStreamError(); - -public slots: - void sendPacket(const QXmppPacket&); - void sendMessage(const QString& bareJid, const QString& message); - - void setClientPresence(const QXmppPresence&); - void setClientPresence(const QString& statusText); - void setClientPresence(QXmppPresence::Type presenceType); - void setClientPresence(QXmppPresence::Status::Type statusType); - -private: - QXmppStream* m_stream; ///< Pointer to QXmppStream object a wrapper over - ///< TCP socket and XMPP protocol - QXmppConfiguration m_config; ///< This object provides the configuration - ///< required for connecting to the XMPP server. - QXmppPresence m_clientPrecence; ///< Stores the current presence of connected client - QXmppReconnectionManager* m_reconnectionManager; ///< Pointer to the reconnection manager -}; - -#endif // QXMPPCLIENT_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. + * + */ + +/// \class QXmppClient +/// \brief The QXmppClient is the main class for using QXmpp. +/// +/// It provides the user all the required functionality to connect to the server +/// and perform operations afterwards. +/// +/// This class will provide the handle/reference to QXmppRoster (roster management), +/// QXmppVCardManager (vCard manager) and QXmppReconnectionManager (reconnection +/// mechanism). +/// +/// By default, a reconnection mechanism exists, which makes sure of reconnecting +/// to the server on dissconnections due to an error. User can have a custom +/// reconnection mechanism as well. +/// + +#ifndef QXMPPCLIENT_H +#define QXMPPCLIENT_H + +#include +#include +#include "QXmppConfiguration.h" +#include "QXmppPresence.h" + +class QXmppStream; +class QXmppPresence; +class QXmppMessage; +class QXmppPacket; +class QXmppIq; +class QXmppRoster; +class QXmppReconnectionManager; +class QXmppVCardManager; + +class QXmppClient : public QObject +{ + Q_OBJECT + +public: + /// An enumeration for type of error. + /// Error could come due a TCP socket or XML stream or due to various stanzas. + enum Error + { + SocketError, ///< Error due to TCP socket + XmppStreamError, ///< Error due to XML stream + XmppStanzaError ///< Error due to stanza + }; + + QXmppClient(QObject *parent = 0); + ~QXmppClient(); + void connectToServer(const QString& host, + const QString& user, + const QString& passwd, + const QString& domain, + int port = 5222, + const QXmppPresence& initialPresence = + QXmppPresence()); + void connectToServer(const QXmppConfiguration&, + const QXmppPresence& initialPresence = + QXmppPresence()); + void disconnect(); + QXmppRoster& getRoster(); + QXmppConfiguration& getConfiguration(); + const QXmppConfiguration& getConfiguration() const; + QXmppReconnectionManager* getReconnectionManager(); + bool setReconnectionManager(QXmppReconnectionManager*); + const QXmppPresence& getClientPresence() const; + QXmppVCardManager& getVCardManager(); + +signals: + + /// This signal is emitted when the client connects sucessfully to the XMPP + /// server i.e. when a successful XMPP connection is established. + /// XMPP Connection involves following sequential steps: + /// - TCP socket connection + /// - Client sends start stream + /// - Server sends start stream + /// - TLS negotiation (encryption) + /// - Authentication + /// - Resource binding + /// - Session establishment + /// + /// After all these steps a successful XMPP connection is established and + /// connected() signal is emitted. + /// + void connected(); + + /// This signal is emitted when the XMPP connection disconnects. + /// + void disconnected(); + + /// This signal is emitted when the XMPP connection encounters any error. + /// The QXmppClient::Error parameter specifies the type of error occured. + /// It could be due to TCP socket or the xml stream or the stanza. + /// Depending upon the type of error occured use the respective get function to + /// know the error. + void error(QXmppClient::Error); + + /// Notifies that an XMPP message stanza is received. The QXmppMessage + /// parameter contains the details of the message sent to this client. + /// In other words whenever someone sends you a message this signal is + /// emitted. + void messageReceived(const QXmppMessage&); + + /// Notifies that an XMPP presence stanza is received. The QXmppPresence + /// parameter contains the details of the presence sent to this client. + /// This signal is emitted when someone login/logout or when someone's status + /// changes Busy, Idle, Invisible etc. + void presenceReceived(const QXmppPresence&); + + /// Notifies that an XMPP iq stanza is received. The QXmppIq + /// parameter contains the details of the iq sent to this client. + /// IQ stanzas provide a structured request-response mechanism. Roster + /// management, setting-getting vCards etc is done using iq stanzas. + void iqReceived(const QXmppIq&); + +public: + QAbstractSocket::SocketError getSocketError(); +// QXmppStanza::Error getXmppStreamError(); + +public slots: + void sendPacket(const QXmppPacket&); + void sendMessage(const QString& bareJid, const QString& message); + + void setClientPresence(const QXmppPresence&); + void setClientPresence(const QString& statusText); + void setClientPresence(QXmppPresence::Type presenceType); + void setClientPresence(QXmppPresence::Status::Type statusType); + +private: + QXmppStream* m_stream; ///< Pointer to QXmppStream object a wrapper over + ///< TCP socket and XMPP protocol + QXmppConfiguration m_config; ///< This object provides the configuration + ///< required for connecting to the XMPP server. + QXmppPresence m_clientPrecence; ///< Stores the current presence of connected client + QXmppReconnectionManager* m_reconnectionManager; ///< Pointer to the reconnection manager +}; + +#endif // QXMPPCLIENT_H -- cgit v1.2.3