Exemple #1
0
QXmppRemoteMethodResult QXmppClient::callRemoteMethod( const QString &jid,
                                          const QString &interface,
                                          const QVariant &arg1,
                                          const QVariant &arg2,
                                          const QVariant &arg3,
                                          const QVariant &arg4,
                                          const QVariant &arg5,
                                          const QVariant &arg6,
                                          const QVariant &arg7,
                                          const QVariant &arg8,
                                          const QVariant &arg9,
                                          const QVariant &arg10 )
{
    QVariantList args;
    if( arg1.isValid() ) args << arg1;
    if( arg2.isValid() ) args << arg2;
    if( arg3.isValid() ) args << arg3;
    if( arg4.isValid() ) args << arg4;
    if( arg5.isValid() ) args << arg5;
    if( arg6.isValid() ) args << arg6;
    if( arg7.isValid() ) args << arg7;
    if( arg8.isValid() ) args << arg8;
    if( arg9.isValid() ) args << arg9;
    if( arg10.isValid() ) args << arg10;

    QXmppRemoteMethod method( jid, interface, args, this );
    connect( d->stream, SIGNAL(rpcCallResponse(QXmppRpcResponseIq)),
             &method, SLOT(gotResult(QXmppRpcResponseIq)));
    connect( d->stream, SIGNAL(rpcCallError(QXmppRpcErrorIq)),
             &method, SLOT(gotError(QXmppRpcErrorIq)));


    return method.call();
}
	void ExecuteCommandDialog::ProceedExecuting (const AdHocResult& result, const QString& action)
	{
		connect (Manager_,
				SIGNAL (gotResult (QString, AdHocResult)),
				this,
				SLOT (handleGotResult (QString, AdHocResult)),
				Qt::UniqueConnection);
		Manager_->ProceedExecuting (JID_, result, action);
	}
	void ExecuteCommandDialog::ExecuteCommand (const AdHocCommand& command)
	{
		connect (Manager_,
				SIGNAL (gotResult (QString, AdHocResult)),
				this,
				SLOT (handleGotResult (QString, AdHocResult)),
				Qt::UniqueConnection);
		Manager_->ExecuteCommand (JID_, command);
	}
	void ExecuteCommandDialog::handleGotResult (const QString& jid, const AdHocResult& result)
	{
		if (jid != JID_)
			return;

		disconnect (Manager_,
				SIGNAL (gotResult (QString, AdHocResult)),
				this,
				SLOT (handleGotResult (QString, AdHocResult)));

		addPage (new CommandResultPage { result, Account_ });
		if (!result.GetActions ().isEmpty ())
			addPage (new WaitPage { tr ("Please wait while action "
						"is performed") });
		next ();
	}