diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-06-04 14:01:15 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-06-04 14:01:15 +0000 |
| commit | 6982f22e2fbfbecdf7bb2a76f53de90a45613654 (patch) | |
| tree | 54a6662fb6f2080c8f8c7e24e037ad38b0bddc94 /source | |
| parent | 452d70b95168e5f36a6cdb972278d656141feb3f (diff) | |
| download | qxmpp-6982f22e2fbfbecdf7bb2a76f53de90a45613654.tar.gz | |
use signal/slot to handle RPC
Diffstat (limited to 'source')
| -rw-r--r-- | source/QXmppClient.cpp | 5 | ||||
| -rw-r--r-- | source/QXmppClient.h | 2 | ||||
| -rw-r--r-- | source/QXmppStream.cpp | 2 | ||||
| -rw-r--r-- | source/QXmppStream.h | 5 |
4 files changed, 10 insertions, 4 deletions
diff --git a/source/QXmppClient.cpp b/source/QXmppClient.cpp index ba907fb5..bdc549f4 100644 --- a/source/QXmppClient.cpp +++ b/source/QXmppClient.cpp @@ -82,6 +82,11 @@ QXmppClient::QXmppClient(QObject *parent) check = setReconnectionManager(new QXmppReconnectionManager(this)); Q_ASSERT(check); + // rpc + check = connect(m_stream, SIGNAL(rpcCallInvoke(QXmppRpcInvokeIq)), + this, SIGNAL(invokeInterfaceMethod(QXmppRpcInvokeIq))); + Q_ASSERT(check); + // create managers m_roster = new QXmppRoster(m_stream); m_archiveManager = new QXmppArchiveManager(m_stream); diff --git a/source/QXmppClient.h b/source/QXmppClient.h index fe3cf997..3ae88a63 100644 --- a/source/QXmppClient.h +++ b/source/QXmppClient.h @@ -169,7 +169,6 @@ public: QAbstractSocket::SocketError getSocketError(); void addInvokableInterface( QXmppInvokable *interface ); - void invokeInterfaceMethod( const QXmppRpcInvokeIq &iq ); QXmppRemoteMethodResult callRemoteMethod( const QString &jid, const QString &interface, const QVariant &arg1 = QVariant(), @@ -200,6 +199,7 @@ public slots: void setClientPresence(QXmppPresence::Status::Type statusType); private slots: + void invokeInterfaceMethod( const QXmppRpcInvokeIq &iq ); void xmppConnected(); private: diff --git a/source/QXmppStream.cpp b/source/QXmppStream.cpp index 36e9e87f..e5eb0eaa 100644 --- a/source/QXmppStream.cpp +++ b/source/QXmppStream.cpp @@ -463,7 +463,7 @@ void QXmppStream::parser(const QByteArray& data) { QXmppRpcInvokeIq rpcIqPacket; rpcIqPacket.parse(nodeRecv); - m_client->invokeInterfaceMethod(rpcIqPacket); + emit rpcCallInvoke(rpcIqPacket); } else if ( QXmppRpcResponseIq::isRpcResponseIq( nodeRecv ) ) { diff --git a/source/QXmppStream.h b/source/QXmppStream.h index a5aaab3d..8f665471 100644 --- a/source/QXmppStream.h +++ b/source/QXmppStream.h @@ -99,8 +99,9 @@ signals: void rosterIqReceived(const QXmppRosterIq&); void vCardIqReceived(const QXmppVCard&); - void rpcCallResponse(const QXmppRpcResponseIq& result ); - void rpcCallError(const QXmppRpcErrorIq& err ); + void rpcCallInvoke(const QXmppRpcInvokeIq &invoke); + void rpcCallResponse(const QXmppRpcResponseIq& result); + void rpcCallError(const QXmppRpcErrorIq &err); void archiveChatIqReceived(const QXmppArchiveChatIq&); void archiveListIqReceived(const QXmppArchiveListIq&); |
