aboutsummaryrefslogtreecommitdiff
path: root/src/QXmppRpcManager.h
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-12-10 16:20:17 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-12-10 16:20:17 +0000
commit71789caae022b638fc4cf3627be466004f17afe6 (patch)
tree7124141c099dacfc4d7dda8137c6a5b58761a9b8 /src/QXmppRpcManager.h
parentb4cf1c29e384cf98fe665b33f143dfc7f41d7bcf (diff)
downloadqxmpp-71789caae022b638fc4cf3627be466004f17afe6.tar.gz
add some RPC code which just barely compiles
Diffstat (limited to 'src/QXmppRpcManager.h')
-rw-r--r--src/QXmppRpcManager.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/QXmppRpcManager.h b/src/QXmppRpcManager.h
index cd84ef1b..c6d0a167 100644
--- a/src/QXmppRpcManager.h
+++ b/src/QXmppRpcManager.h
@@ -24,8 +24,15 @@
#ifndef QXMPPRPCMANAGER_H
#define QXMPPRPCMANAGER_H
+#include <QMap>
+#include <QVariant>
+
#include "QXmppClientExtension.h"
+class QXmppInvokable;
+class QXmppRemoteMethodResult;
+class QXmppRpcInvokeIq;
+
class QXmppRpcManager : public QXmppClientExtension
{
Q_OBJECT
@@ -33,10 +40,30 @@ class QXmppRpcManager : public QXmppClientExtension
public:
QXmppRpcManager();
+ void addInvokableInterface( QXmppInvokable *interface );
+ QXmppRemoteMethodResult callRemoteMethod( const QString &jid,
+ const QString &interface,
+ const QVariant &arg1 = QVariant(),
+ const QVariant &arg2 = QVariant(),
+ const QVariant &arg3 = QVariant(),
+ const QVariant &arg4 = QVariant(),
+ const QVariant &arg5 = QVariant(),
+ const QVariant &arg6 = QVariant(),
+ const QVariant &arg7 = QVariant(),
+ const QVariant &arg8 = QVariant(),
+ const QVariant &arg9 = QVariant(),
+ const QVariant &arg10 = QVariant() );
+
/// \cond
QStringList discoveryFeatures() const;
bool handleStanza(const QDomElement &element);
/// \endcond
+
+private slots:
+ void invokeInterfaceMethod(const QXmppRpcInvokeIq &iq);
+
+private:
+ QMap<QString,QXmppInvokable*> m_interfaces;
};
#endif