QXmppOutgoingServer.h

    00001 /*
    00002  * Copyright (C) 2008-2011 The QXmpp developers
    00003  *
    00004  * Author:
    00005  *  Jeremy Lainé
    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 #ifndef QXMPPOUTGOINGSERVER_H
    00025 #define QXMPPOUTGOINGSERVER_H
    00026
    00027 #include <QAbstractSocket>
    00028
    00029 #include "QXmppStream.h"
    00030
    00031 class QSslError;
    00032 class QXmppDialback;
    00033 class QXmppOutgoingServer;
    00034 class QXmppOutgoingServerPrivate;
    00035 class QXmppSrvInfo;
    00036
    00040
    00041 class QXmppOutgoingServer : public QXmppStream
    00042 {
    00043     Q_OBJECT
    00044
    00045 public:
    00046     QXmppOutgoingServer(const QString &domain, QObject *parent);
    00047     ~QXmppOutgoingServer();
    00048
    00049     bool isConnected() const;
    00050
    00051     QString localStreamKey() const;
    00052     void setLocalStreamKey(const QString &key);
    00053     void setVerify(const QString &id, const QString &key);
    00054
    00055     QString remoteDomain() const;
    00056
    00057 signals:
    00059     void dialbackResponseReceived(const QXmppDialback &response);
    00060
    00061 protected:
    00063     void handleStart();
    00064     void handleStream(const QDomElement &streamElement);
    00065     void handleStanza(const QDomElement &stanzaElement);
    00067
    00068 public slots:
    00069     void connectToHost(const QString &domain);
    00070     void queueData(const QByteArray &data);
    00071
    00072 private slots:
    00073     void connectToHost(const QXmppSrvInfo &serviceInfo);
    00074     void sendDialback();
    00075     void slotSslErrors(const QList<QSslError> &errors);
    00076     void socketError(QAbstractSocket::SocketError error);
    00077
    00078 private:
    00079     Q_DISABLE_COPY(QXmppOutgoingServer)
    00080     QXmppOutgoingServerPrivate* const d;
    00081 };
    00082
    00083 #endif

All Classes Functions Enumerations Enumerator Properties