| Home · All Classes · All Namespaces · Modules · Functions · Files

# Tp::PendingOperation Class Reference

Abstract base class for pending asynchronous operations. More...

`#include <TelepathyQt4/PendingOperation>`

Inherited by Tp::PendingAccount, Tp::PendingChannel, Tp::PendingChannelRequest, Tp::PendingComposite, Tp::PendingConnection, Tp::PendingContactAttributes, Tp::PendingContacts, Tp::PendingFailure, Tp::PendingHandles, Tp::PendingMediaContent, Tp::PendingMediaStreams, Tp::PendingReady, Tp::PendingSendMessage, Tp::PendingStringList, Tp::PendingSuccess, Tp::PendingVariant, and Tp::PendingVoid.

List of all members.

## Signals

- void finished (Tp::PendingOperation *operation)

## Public Member Functions

- virtual ~PendingOperation ()
- bool isFinished () const
- bool isValid () const
- bool isError () const
- QString errorName () const
- QString errorMessage () const

## Protected Slots

- void setFinished ()
- void setFinishedWithError (const QString &name, const QString &message)
- void setFinishedWithError (const QDBusError &error)

## Protected Member Functions

- PendingOperation (QObject *parent)

## Detailed Description

Abstract base class for pending asynchronous operations.

This class represents an incomplete asynchronous operation, such as a D-Bus method call. When the operation has finished, it emits finished. The slot or slots connected to the finished() signal may obtain additional information from the PendingOperation.

In simple cases, like a D-Bus method with no 'out' arguments or for which all 'out' arguments are to be ignored (so the possible results are success with no extra information, or failure with an error code), the trivial subclass PendingVoid can be used.

For pending operations that produce a result, another subclass of PendingOperation can be used, with additional methods that provide that result to the library user.

After finished() is emitted, the PendingOperation is automatically deleted using deleteLater(), so library users must not explicitly delete this object.

The design is loosely based on KDE's KJob.

## Constructor & Destructor Documentation

Tp::PendingOperation::~PendingOperation | ( |  | ) | `[virtual]`

Class destructor.

Tp::PendingOperation::PendingOperation | ( | QObject * | parent | ) | `[protected]`

Protected constructor. Only subclasses of this class may be constructed.

Parameters:

  | parent | The object on which this pending operation takes place

## Member Function Documentation

bool Tp::PendingOperation::isFinished | ( |  | ) | const

Returns whether or not the request has finished processing. finished() is emitted when this changes from `false` to `true`.

Equivalent to `(isValid() || isError())`.

See also:
  finished()

Returns:
  `true` if the request has finished

bool Tp::PendingOperation::isValid | ( |  | ) | const

Returns whether or not the request completed successfully. If the request has not yet finished processing (isFinished() returns `false`), this cannot yet be known, and `false` will be returned.

Equivalent to `(isFinished() && !isError())`.

Returns:
  `true` iff the request has finished processing AND has completed successfully.

bool Tp::PendingOperation::isError | ( |  | ) | const

Returns whether or not the request resulted in an error. If the request has not yet finished processing (isFinished() returns `false`), this cannot yet be known, and `false` will be returned.

Equivalent to `(isFinished() && !isValid())`.

Returns:
  `true` iff the request has finished processing AND has resulted in an error.

QString Tp::PendingOperation::errorName | ( |  | ) | const

If isError() would return true, returns the D-Bus error with which the operation failed. If the operation succeeded or has not yet finished, returns an empty string.

Returns:
  a D-Bus error name or an empty string

QString Tp::PendingOperation::errorMessage | ( |  | ) | const

If isError() would return true, returns a debugging message associated with the error, which may be an empty string. Otherwise, return an empty string.

Returns:
  a debugging message or an empty string

void Tp::PendingOperation::finished | ( | Tp::PendingOperation * | operation | ) | `[signal]`

Emitted when the pending operation finishes, i.e. when isFinished() changes from `false` to `true`.

Parameters:

  | operation | This operation object, from which further information may be obtained

void Tp::PendingOperation::setFinished | ( |  | ) | `[protected, slot]`

Record that this pending operation has finished successfully, and emit the finished() signal next time the event loop runs.

void Tp::PendingOperation::setFinishedWithError | ( | const QString & | name,
|  | const QString & | message |
| ) |  |  | `[protected, slot]`

Record that this pending operation has finished with an error, and emit the finished() signal next time the event loop runs.

Parameters:

  | name | A D-Bus error name, which must be non-empty
  | message | A debugging message

void Tp::PendingOperation::setFinishedWithError | ( | const QDBusError & | error | ) | `[protected, slot]`

Record that this pending operation has finished with an error, and emit the finished() signal next time the event loop runs.

Parameters:

  | error | A QtDBus error