aboutsummaryrefslogtreecommitdiff
path: root/src/QXmppRpcManager.h
diff options
context:
space:
mode:
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