diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-08-26 07:30:37 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-08-26 07:30:37 +0000 |
| commit | 61fc4bfeafa958d7def9aeb14b50f79f672a3df3 (patch) | |
| tree | 85915e65a006a26482030592cd44b0646d4a85f3 /src/QXmppServer.h | |
| parent | 5a3bbfb46bda7fdba89b3dbfe205b44404720878 (diff) | |
| download | qxmpp-61fc4bfeafa958d7def9aeb14b50f79f672a3df3.tar.gz | |
start preparing for QXmppServer plugins
Diffstat (limited to 'src/QXmppServer.h')
| -rw-r--r-- | src/QXmppServer.h | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/src/QXmppServer.h b/src/QXmppServer.h index 24cabb64..68a85e99 100644 --- a/src/QXmppServer.h +++ b/src/QXmppServer.h @@ -33,6 +33,7 @@ class QXmppDialback; class QXmppLogger; class QXmppOutgoingServer; class QXmppPasswordChecker; +class QXmppServerExtension; class QXmppServerPrivate; class QXmppSslServer; class QXmppStanza; @@ -50,6 +51,8 @@ public: QXmppServer(QObject *parent = 0); ~QXmppServer(); + void addExtension(QXmppServerExtension *extension); + QString domain() const; void setDomain(const QString &domain); @@ -77,18 +80,25 @@ private slots: void slotElementReceived(const QDomElement &element, bool &handled); void slotServerConnection(QSslSocket *socket); -protected: - // overridable methods - virtual void handleStanza(QXmppStream *stream, const QDomElement &element); - virtual QStringList subscribers(const QString &jid); - virtual void updateStatistics(); - private: QXmppOutgoingServer *connectToDomain(const QString &domain); QList<QXmppStream*> getStreams(const QString &to); + virtual void handleStanza(QXmppStream *stream, const QDomElement &element); + virtual QStringList subscribers(const QString &jid); QXmppServerPrivate * const d; }; +/// \brief The QXmppServerExtension is the base class for QXmppServer +/// extensions. +/// + +class QXmppServerExtension +{ +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. |
