diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-08-27 12:15:23 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-08-27 12:15:23 +0000 |
| commit | ce3fc8a796f9ba14dac0c77e6d3c102c8552b172 (patch) | |
| tree | 647f17a5d546568072680b72f96f33dc7b955989 /src/QXmppServer.h | |
| parent | ccf962560ca1178c543c091b2e36d9be49b2cf48 (diff) | |
| download | qxmpp-ce3fc8a796f9ba14dac0c77e6d3c102c8552b172.tar.gz | |
refactor QXmppServer extensions
Diffstat (limited to 'src/QXmppServer.h')
| -rw-r--r-- | src/QXmppServer.h | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/src/QXmppServer.h b/src/QXmppServer.h index 36032cd0..39ee64e8 100644 --- a/src/QXmppServer.h +++ b/src/QXmppServer.h @@ -52,6 +52,7 @@ public: ~QXmppServer(); void addExtension(QXmppServerExtension *extension); + QList<QXmppServerExtension*> loadedExtensions(); QString domain() const; void setDomain(const QString &domain); @@ -66,12 +67,20 @@ public: void setLocalCertificate(const QString &sslCertificate); void setPrivateKey(const QString &sslKey); + void close(); bool listenForClients(const QHostAddress &address = QHostAddress::Any, quint16 port = 5222); bool listenForServers(const QHostAddress &address = QHostAddress::Any, quint16 port = 5269); bool sendElement(const QDomElement &element); bool sendPacket(const QXmppStanza &stanza); +signals: + /// This signal is emitted when an XMPP stream is added. + void streamAdded(QXmppStream *stream); + + /// This signal is emitted when an XMPP stream is removed. + void streamRemoved(QXmppStream *stream); + private slots: void slotClientConnection(QSslSocket *socket); void slotClientConnected(); @@ -79,6 +88,7 @@ private slots: void slotDialbackRequestReceived(const QXmppDialback &dialback); void slotElementReceived(const QDomElement &element); void slotServerConnection(QSslSocket *socket); + void slotServerDisconnected(); private: QXmppOutgoingServer *connectToDomain(const QString &domain); @@ -88,19 +98,6 @@ private: QXmppServerPrivate * const d; }; -/// \brief The QXmppServerExtension class is the base class for QXmppServer -/// extensions. -/// - -class QXmppServerExtension : public QObject -{ - Q_OBJECT - -public: - virtual bool handleStanza(QXmppStream *stream, const QDomElement &stanza); - virtual QStringList presenceSubscribers(const QString &jid); -}; - class QXmppSslServerPrivate; /// \brief The QXmppSslServer class represents an SSL-enabled TCP server. |
