aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-12-10 16:06:46 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-12-10 16:06:46 +0000
commitb4cf1c29e384cf98fe665b33f143dfc7f41d7bcf (patch)
tree717976401940802b01f9e68ca98c240b7a0f1e3a /src
parent400b1053e272e2f4472e8bb38488deaa59174961 (diff)
downloadqxmpp-b4cf1c29e384cf98fe665b33f143dfc7f41d7bcf.tar.gz
start adding a stub for QXmppRpcManager
Diffstat (limited to 'src')
-rw-r--r--src/QXmppRpcManager.cpp66
-rw-r--r--src/QXmppRpcManager.h42
-rw-r--r--src/src.pro2
3 files changed, 110 insertions, 0 deletions
diff --git a/src/QXmppRpcManager.cpp b/src/QXmppRpcManager.cpp
new file mode 100644
index 00000000..c1c4e41f
--- /dev/null
+++ b/src/QXmppRpcManager.cpp
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2008-2010 The QXmpp developers
+ *
+ * Author:
+ * Jeremy Lainé
+ *
+ * Source:
+ * http://code.google.com/p/qxmpp
+ *
+ * This file is a part of QXmpp library.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ */
+
+#include "QXmppConstants.h"
+#include "QXmppRpcIq.h"
+#include "QXmppRpcManager.h"
+
+/// Constructs a QXmppRpcManager.
+
+QXmppRpcManager::QXmppRpcManager()
+{
+}
+
+QStringList QXmppRpcManager::discoveryFeatures() const
+{
+ // XEP-0009: Jabber-RPC
+ return QStringList() << ns_rpc;
+}
+
+bool QXmppRpcManager::handleStanza(const QDomElement &element)
+{
+ // XEP-0009: Jabber-RPC
+ if (QXmppRpcInvokeIq::isRpcInvokeIq(element))
+ {
+ QXmppRpcInvokeIq rpcIqPacket;
+ rpcIqPacket.parse(element);
+ //emit rpcCallInvoke(rpcIqPacket);
+ return true;
+ }
+ else if(QXmppRpcResponseIq::isRpcResponseIq(element))
+ {
+ QXmppRpcResponseIq rpcResponseIq;
+ rpcResponseIq.parse(element);
+ //emit rpcCallResponse(rpcResponseIq);
+ return true;
+ }
+ else if(QXmppRpcErrorIq::isRpcErrorIq(element))
+ {
+ QXmppRpcErrorIq rpcErrorIq;
+ rpcErrorIq.parse(element);
+ //emit rpcCallError(rpcErrorIq);
+ return true;
+ }
+ return false;
+}
+
diff --git a/src/QXmppRpcManager.h b/src/QXmppRpcManager.h
new file mode 100644
index 00000000..cd84ef1b
--- /dev/null
+++ b/src/QXmppRpcManager.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2008-2010 The QXmpp developers
+ *
+ * Author:
+ * Jeremy Lainé
+ *
+ * Source:
+ * http://code.google.com/p/qxmpp
+ *
+ * This file is a part of QXmpp library.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ */
+
+#ifndef QXMPPRPCMANAGER_H
+#define QXMPPRPCMANAGER_H
+
+#include "QXmppClientExtension.h"
+
+class QXmppRpcManager : public QXmppClientExtension
+{
+ Q_OBJECT
+
+public:
+ QXmppRpcManager();
+
+ /// \cond
+ QStringList discoveryFeatures() const;
+ bool handleStanza(const QDomElement &element);
+ /// \endcond
+};
+
+#endif
diff --git a/src/src.pro b/src/src.pro
index 9586cae5..011028b9 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -60,6 +60,7 @@ INSTALL_HEADERS = QXmppUtils.h \
QXmppRosterIq.h \
QXmppRosterManager.h \
QXmppRpcIq.h \
+ QXmppRpcManager.h \
QXmppRtpChannel.h \
QXmppSaslAuth.h \
QXmppServer.h \
@@ -125,6 +126,7 @@ SOURCES += QXmppUtils.cpp \
QXmppRosterIq.cpp \
QXmppRosterManager.cpp \
QXmppRpcIq.cpp \
+ QXmppRpcManager.cpp \
QXmppRtpChannel.cpp \
QXmppSaslAuth.cpp \
QXmppServer.cpp \