From 21acd67e9b65bea87902032b12709675905aa922 Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Wed, 8 Feb 2012 12:33:41 +0000 Subject: start moving client-specific code --- src/QXmppRemoteMethod.cpp | 75 ----------------------------------------------- 1 file changed, 75 deletions(-) delete mode 100644 src/QXmppRemoteMethod.cpp (limited to 'src/QXmppRemoteMethod.cpp') diff --git a/src/QXmppRemoteMethod.cpp b/src/QXmppRemoteMethod.cpp deleted file mode 100644 index 5dd8e9ad..00000000 --- a/src/QXmppRemoteMethod.cpp +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (C) 2008-2011 The QXmpp developers - * - * Authors: - * Ian Reinhart Geiser - * - * 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 "QXmppRemoteMethod.h" -#include "QXmppClient.h" -#include "QXmppUtils.h" - -#include -#include -#include - -QXmppRemoteMethod::QXmppRemoteMethod(const QString &jid, const QString &method, const QVariantList &args, QXmppClient *client) : - QObject(client), m_client(client) -{ - m_payload.setTo( jid ); - m_payload.setFrom( client->configuration().jid() ); - m_payload.setMethod( method ); - m_payload.setArguments( args ); -} - -QXmppRemoteMethodResult QXmppRemoteMethod::call( ) -{ - // FIXME : spinning an event loop is a VERY bad idea, it can cause - // us to lose incoming packets - QEventLoop loop(this); - connect( this, SIGNAL(callDone()), &loop, SLOT(quit())); - QTimer::singleShot(30000,&loop, SLOT(quit())); // Timeout incase the other end hangs... - - m_client->sendPacket( m_payload ); - - loop.exec( QEventLoop::ExcludeUserInputEvents | QEventLoop::WaitForMoreEvents ); - return m_result; -} - -void QXmppRemoteMethod::gotError( const QXmppRpcErrorIq &iq ) -{ - if ( iq.id() == m_payload.id() ) - { - m_result.hasError = true; - m_result.errorMessage = iq.error().text(); - m_result.code = iq.error().type(); - emit callDone(); - } -} - -void QXmppRemoteMethod::gotResult( const QXmppRpcResponseIq &iq ) -{ - if ( iq.id() == m_payload.id() ) - { - m_result.hasError = false; - // FIXME: we don't handle multiple responses - m_result.result = iq.values().first(); - emit callDone(); - } -} -- cgit v1.2.3