aboutsummaryrefslogtreecommitdiff
path: root/src/QXmppServer.h
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-08-27 12:15:23 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-08-27 12:15:23 +0000
commitce3fc8a796f9ba14dac0c77e6d3c102c8552b172 (patch)
tree647f17a5d546568072680b72f96f33dc7b955989 /src/QXmppServer.h
parentccf962560ca1178c543c091b2e36d9be49b2cf48 (diff)
downloadqxmpp-ce3fc8a796f9ba14dac0c77e6d3c102c8552b172.tar.gz
refactor QXmppServer extensions
Diffstat (limited to 'src/QXmppServer.h')
-rw-r--r--src/QXmppServer.h23
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.