aboutsummaryrefslogtreecommitdiff
path: root/src/QXmppServer.h
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-08-26 07:30:37 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-08-26 07:30:37 +0000
commit61fc4bfeafa958d7def9aeb14b50f79f672a3df3 (patch)
tree85915e65a006a26482030592cd44b0646d4a85f3 /src/QXmppServer.h
parent5a3bbfb46bda7fdba89b3dbfe205b44404720878 (diff)
downloadqxmpp-61fc4bfeafa958d7def9aeb14b50f79f672a3df3.tar.gz
start preparing for QXmppServer plugins
Diffstat (limited to 'src/QXmppServer.h')
-rw-r--r--src/QXmppServer.h22
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.