aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-08-26 12:38:53 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-08-26 12:38:53 +0000
commitb9fec4f9393a062e0bda2bb31be831ea927e5d47 (patch)
tree4d2610a9ff22fbd0e0e8f9616cd91fb5ec4cfded /src
parent09ad2039b4cae47966412602774edf7422eaa830 (diff)
downloadqxmpp-b9fec4f9393a062e0bda2bb31be831ea927e5d47.tar.gz
make QXmppClientExtension and QXmppServerExtension inherit QObject
Diffstat (limited to 'src')
-rw-r--r--src/QXmppClient.cpp3
-rw-r--r--src/QXmppClient.h4
-rw-r--r--src/QXmppServer.cpp3
-rw-r--r--src/QXmppServer.h4
4 files changed, 8 insertions, 6 deletions
diff --git a/src/QXmppClient.cpp b/src/QXmppClient.cpp
index 023abf07..62a7f03d 100644
--- a/src/QXmppClient.cpp
+++ b/src/QXmppClient.cpp
@@ -178,8 +178,6 @@ QXmppClient::QXmppClient(QObject *parent)
QXmppClient::~QXmppClient()
{
- foreach (QXmppClientExtension *extension, d->extensions)
- delete extension;
delete d;
}
@@ -189,6 +187,7 @@ QXmppClient::~QXmppClient()
void QXmppClient::addExtension(QXmppClientExtension *extension)
{
+ extension->setParent(this);
d->extensions << extension;
}
diff --git a/src/QXmppClient.h b/src/QXmppClient.h
index e6360037..b6a800b1 100644
--- a/src/QXmppClient.h
+++ b/src/QXmppClient.h
@@ -245,8 +245,10 @@ private:
/// extensions.
///
-class QXmppClientExtension
+class QXmppClientExtension : public QObject
{
+ Q_OBJECT
+
public:
virtual bool handleStanza(QXmppStream *stream, const QDomElement &stanza) = 0;
};
diff --git a/src/QXmppServer.cpp b/src/QXmppServer.cpp
index 0630eea6..947add18 100644
--- a/src/QXmppServer.cpp
+++ b/src/QXmppServer.cpp
@@ -97,8 +97,6 @@ QXmppServer::QXmppServer(QObject *parent)
QXmppServer::~QXmppServer()
{
- foreach (QXmppServerExtension *extension, d->extensions)
- delete extension;
delete d;
}
@@ -108,6 +106,7 @@ QXmppServer::~QXmppServer()
void QXmppServer::addExtension(QXmppServerExtension *extension)
{
+ extension->setParent(this);
d->extensions << extension;
}
diff --git a/src/QXmppServer.h b/src/QXmppServer.h
index 680a2fd5..9a06c55b 100644
--- a/src/QXmppServer.h
+++ b/src/QXmppServer.h
@@ -92,8 +92,10 @@ private:
/// extensions.
///
-class QXmppServerExtension
+class QXmppServerExtension : public QObject
{
+ Q_OBJECT
+
public:
virtual bool handleStanza(QXmppStream *stream, const QDomElement &stanza);
virtual QStringList presenceSubscribers(const QString &jid);