Tp::Client::AccountInterface Class Reference

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

Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
Tp::Client::AccountInterface Class Reference
Account proxies

`#include <TelepathyQt/AccountManager>`

Inherits Tp::AbstractInterface.

## Public Slots
QDBusPendingReply | Remove (int timeout=-1)
QDBusPendingReply< QStringList > | UpdateParameters (const QVariantMap &set, const QStringList &unset, int timeout=-1)
QDBusPendingReply | Reconnect (int timeout=-1)

## Signals
void | Removed ()
void | AccountPropertyChanged (const QVariantMap &properties)
Signals inherited from Tp::AbstractInterface
void | propertiesChanged (const QVariantMap &changedProperties, const QStringList &invalidatedProperties)

## Public Member Functions
| AccountInterface (const QString &busName, const QString &objectPath, QObject *parent=0)
| AccountInterface (const QDBusConnection &connection, const QString &busName, const QString &objectPath, QObject *parent=0)
| AccountInterface (Tp::DBusProxy *proxy)
Tp::PendingVariant * | requestPropertyInterfaces () const
Tp::PendingVariant * | requestPropertyDisplayName () const
Tp::PendingOperation * | setPropertyDisplayName (QString newValue)
Tp::PendingVariant * | requestPropertyIcon () const
Tp::PendingOperation * | setPropertyIcon (QString newValue)
Tp::PendingVariant * | requestPropertyValid () const
Tp::PendingVariant * | requestPropertyEnabled () const
Tp::PendingOperation * | setPropertyEnabled (bool newValue)
Tp::PendingVariant * | requestPropertyNickname () const
Tp::PendingOperation * | setPropertyNickname (QString newValue)
Tp::PendingVariant * | requestPropertyService () const
Tp::PendingOperation * | setPropertyService (QString newValue)
Tp::PendingVariant * | requestPropertyParameters () const
Tp::PendingVariant * | requestPropertyAutomaticPresence () const
Tp::PendingOperation * | setPropertyAutomaticPresence (Tp::SimplePresence newValue)
Tp::PendingVariant * | requestPropertyConnectAutomatically () const
Tp::PendingOperation * | setPropertyConnectAutomatically (bool newValue)
Tp::PendingVariant * | requestPropertyConnection () const
Tp::PendingVariant * | requestPropertyConnectionStatus () const
Tp::PendingVariant * | requestPropertyConnectionStatusReason () const
Tp::PendingVariant * | requestPropertyConnectionError () const
Tp::PendingVariant * | requestPropertyConnectionErrorDetails () const
Tp::PendingVariant * | requestPropertyCurrentPresence () const
Tp::PendingVariant * | requestPropertyRequestedPresence () const
Tp::PendingOperation * | setPropertyRequestedPresence (Tp::SimplePresence newValue)
Tp::PendingVariant * | requestPropertyChangingPresence () const
Tp::PendingVariant * | requestPropertyNormalizedName () const
Tp::PendingVariant * | requestPropertyHasBeenOnline () const
Tp::PendingVariant * | requestPropertySupersedes () const
Tp::PendingOperation * | setPropertySupersedes (Tp::ObjectPathList newValue)
Tp::PendingVariantMap * | requestAllProperties () const
Public Member Functions inherited from Tp::AbstractInterface
virtual | ~AbstractInterface ()
bool | isValid () const
QString | invalidationReason () const
QString | invalidationMessage () const
void | setMonitorProperties (bool monitorProperties)
bool | isMonitoringProperties () const

## Static Public Member Functions
static QLatin1String | staticInterfaceName ()

## Protected Member Functions
virtual void | invalidate (Tp::DBusProxy *, const QString &, const QString &)
Protected Member Functions inherited from Tp::AbstractInterface
| AbstractInterface (DBusProxy *proxy, const QLatin1String &interface)
| AbstractInterface (const QString &busName, const QString &path, const QLatin1String &interface, const QDBusConnection &connection, QObject *parent)
PendingVariant * | internalRequestProperty (const QString &name) const
PendingOperation * | internalSetProperty (const QString &name, const QVariant &newValue)
PendingVariantMap * | internalRequestAllProperties () const

## Additional Inherited Members
Protected Slots inherited from Tp::AbstractInterface

## Detailed Description

Proxy class providing a 1:1 mapping of the D-Bus interface "org.freedesktop.Telepathy.Account".

## Constructor & Destructor Documentation

Tp::Client::AccountInterface::AccountInterface | ( | const QString & | busName,
|  | const QString & | objectPath,
|  | QObject * | parent = `0`
| ) |  |

Creates a AccountInterface associated with the given object on the session bus.

Parameters

  busName | Name of the service the object is on.
  objectPath | Path to the object on the service.
  parent | Passed to the parent class constructor.

Tp::Client::AccountInterface::AccountInterface | ( | const QDBusConnection & | connection,
|  | const QString & | busName,
|  | const QString & | objectPath,
|  | QObject * | parent = `0`
| ) |  |

Creates a AccountInterface associated with the given object on the given bus.

Parameters

  connection | The bus via which the object can be reached.
  busName | Name of the service the object is on.
  objectPath | Path to the object on the service.
  parent | Passed to the parent class constructor.

Tp::Client::AccountInterface::AccountInterface | ( | Tp::DBusProxy * | proxy | ) |

Creates a AccountInterface associated with the same object as the given proxy.

Parameters

  proxy | The proxy to use. It will also be the QObject::parent() for this object.

## Member Function Documentation

static QLatin1String Tp::Client::AccountInterface::staticInterfaceName | ( |  | ) |
| inlinestatic

Returns the name of the interface "org.freedesktop.Telepathy.Account", which this class represents.

Returns
  The D-Bus interface name.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyInterfaces | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `Interfaces` of type `QStringList`.

A list of the extra interfaces provided by this account.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyDisplayName | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `DisplayName` of type `QString`.

The user-visible name of this account. This SHOULD be chosen by the user at account creation time. The account creation user interface is responsible for setting a reasonable default value in the user's locale; something like "Jabber (bob@e.nosp@m.xamp.nosp@m.le.co.nosp@m.m)" would be sensible.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingOperation* Tp::Client::AccountInterface::setPropertyDisplayName | ( | QString | newValue | ) |
| inline

Asynchronous setter for the remote object property `DisplayName` of type `QString`.

The user-visible name of this account. This SHOULD be chosen by the user at account creation time. The account creation user interface is responsible for setting a reasonable default value in the user's locale; something like "Jabber (bob@e.nosp@m.xamp.nosp@m.le.co.nosp@m.m)" would be sensible.

Returns
  A pending operation which will emit finished when the property has been set.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyIcon | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `Icon` of type `QString`.

The name of an icon in the system's icon theme, such as "im-msn", or the empty string to not specify an icon. If the icon is set to an empty string, the account manager or any client MAY derive a default icon, for instance from the protocol.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingOperation* Tp::Client::AccountInterface::setPropertyIcon | ( | QString | newValue | ) |
| inline

Asynchronous setter for the remote object property `Icon` of type `QString`.

The name of an icon in the system's icon theme, such as "im-msn", or the empty string to not specify an icon. If the icon is set to an empty string, the account manager or any client MAY derive a default icon, for instance from the protocol.

Returns
  A pending operation which will emit finished when the property has been set.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyValid | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `Valid` of type `bool`.

If true, this account is considered by the account manager to be complete and usable. If false, user action is required to make it usable, and it will never attempt to connect (for instance, this might be caused by the absence of a required parameter). For connection managers with a plugin architecture, like telepathy-haze, we have little or no control over the parameters offered; for platforms with package management, we have little or no control over the CMs offered. NMC 4.x would just pretend the account didn't exist in these circumstances, but silent data loss is bad, and UIs with CM-specific knowledge (or a user filling in newly-required parameters) might be able to rescue a broken account.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyEnabled | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `Enabled` of type `bool`.

This property gives the users the possibility to prevent an account from being used. This flag does not change the validity of the account.

A disabled account can never be put online.

Use cases:

- user has two or more accounts capable of calling contact X, but he doesn't want the UI to prompt him everytime about which one he wants to use for the call. He can then disable all the equivalent accounts but one.
- There is some temporary server error and the user doesn't want to be be bother by error messages, or change the account configuration: temporarily disabling the account is quicker.

The AccountManager SHOULD allow this property to be set on invalid accounts, but MUST NOT attempt to put invalid accounts online even if they become Enabled.

There doesn't seem to be any good reason not to allow this.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingOperation* Tp::Client::AccountInterface::setPropertyEnabled | ( | bool | newValue | ) |
| inline

Asynchronous setter for the remote object property `Enabled` of type `bool`.

This property gives the users the possibility to prevent an account from being used. This flag does not change the validity of the account.

A disabled account can never be put online.

Use cases:

- user has two or more accounts capable of calling contact X, but he doesn't want the UI to prompt him everytime about which one he wants to use for the call. He can then disable all the equivalent accounts but one.
- There is some temporary server error and the user doesn't want to be be bother by error messages, or change the account configuration: temporarily disabling the account is quicker.

The AccountManager SHOULD allow this property to be set on invalid accounts, but MUST NOT attempt to put invalid accounts online even if they become Enabled.

There doesn't seem to be any good reason not to allow this.

Returns
  A pending operation which will emit finished when the property has been set.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyNickname | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `Nickname` of type `QString`.

The nickname to set on this account for display to other contacts, as set by the user. When the account becomes connected, the account manager SHOULD set this as the user's alias using SetAliases if appropriate. In a later specification revision, we plan to separate the concepts of a contact's nickname as set by themselves, and the local name for them in our contact list (a "handle" or "pet name" as described in XEP-0165 and its references). The terminology change from alias to nickname here is a step in that direction.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingOperation* Tp::Client::AccountInterface::setPropertyNickname | ( | QString | newValue | ) |
| inline

Asynchronous setter for the remote object property `Nickname` of type `QString`.

The nickname to set on this account for display to other contacts, as set by the user. When the account becomes connected, the account manager SHOULD set this as the user's alias using SetAliases if appropriate. In a later specification revision, we plan to separate the concepts of a contact's nickname as set by themselves, and the local name for them in our contact list (a "handle" or "pet name" as described in XEP-0165 and its references). The terminology change from alias to nickname here is a step in that direction.

Returns
  A pending operation which will emit finished when the property has been set.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyService | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `Service` of type `QString`.

Some protocols, like XMPP and SIP, are used by various different user-recognised brands, such as Google Talk and Ovi by Nokia. On accounts for such services, this property SHOULD be set to a string describing the service, which MUST consist only of ASCII letters, numbers and hyphen/minus signs, and start with a letter (matching the requirements for Protocol). For the `jabber` protocol, one of the following service names should be used if possible:

- `google-talk` (for Google's IM service)
- `ovi-chat` (for Ovi's IM service)
- `facebook` (for Facebook's IM service)
- `lj-talk` (for LiveJournal's IM service)
- `windows-live` (for Windows Live Messenger IM service)

For the `IRC` protocol, the network name (`freenode`, `gimpnet`, etc.) can be used if relevant.

The Icon property SHOULD be set to a corresponding brand-specific icon name, if possible. In the future, this property may be used as an index into additional service-specific customizations. If this property is the empty string (or missing), the service is determined by the protocol name (either because this is a single-service protocol like `msn`, or because this is just a generic `jabber` or `sip` account without specific branding).

This property MAY be set, if appropriate, when calling AccountManagerInterface::CreateAccount() . Updating this property will fail on externally-stored accounts whose AccountInterfaceStorageInterface::StorageRestrictions include `Cannot_Set_Service`.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingOperation* Tp::Client::AccountInterface::setPropertyService | ( | QString | newValue | ) |
| inline

Asynchronous setter for the remote object property `Service` of type `QString`.

Some protocols, like XMPP and SIP, are used by various different user-recognised brands, such as Google Talk and Ovi by Nokia. On accounts for such services, this property SHOULD be set to a string describing the service, which MUST consist only of ASCII letters, numbers and hyphen/minus signs, and start with a letter (matching the requirements for Protocol). For the `jabber` protocol, one of the following service names should be used if possible:

- `google-talk` (for Google's IM service)
- `ovi-chat` (for Ovi's IM service)
- `facebook` (for Facebook's IM service)
- `lj-talk` (for LiveJournal's IM service)
- `windows-live` (for Windows Live Messenger IM service)

For the `IRC` protocol, the network name (`freenode`, `gimpnet`, etc.) can be used if relevant.

The Icon property SHOULD be set to a corresponding brand-specific icon name, if possible. In the future, this property may be used as an index into additional service-specific customizations. If this property is the empty string (or missing), the service is determined by the protocol name (either because this is a single-service protocol like `msn`, or because this is just a generic `jabber` or `sip` account without specific branding).

This property MAY be set, if appropriate, when calling AccountManagerInterface::CreateAccount() . Updating this property will fail on externally-stored accounts whose AccountInterfaceStorageInterface::StorageRestrictions include `Cannot_Set_Service`.

Returns
  A pending operation which will emit finished when the property has been set.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyParameters | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `Parameters` of type `QVariantMap`.

A map from connection manager parameter names (as in the ConnectionManagerInterface interface) to their values. This property includes only those parameters that are stored for this account, and SHOULD only include those parameters that the user has explicitly set.

This property cannot be altered using `org.freedesktop.DBus.Properties.Set()`; use UpdateParameters() instead.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyAutomaticPresence | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `AutomaticPresence` of type `Tp::SimplePresence`.

The presence status that this account should have if it is brought online.

In ITOS2007 and ITOS2008 this is a global preference, not visible on D-Bus (the "default presence"). "Automatic presence" better describes when it is used.

Setting this property MUST NOT actually change the account's status until the next time it is (re)connected for some reason.

The value of this property MUST be one that would be acceptable for RequestedPresence , with the additional restriction that the Connection_Presence_Type MUST NOT be Offline.

Otherwise, it would not be possible to use this presence to bring the account online for a channel request.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingOperation* Tp::Client::AccountInterface::setPropertyAutomaticPresence | ( | Tp::SimplePresence | newValue | ) |
| inline

Asynchronous setter for the remote object property `AutomaticPresence` of type `Tp::SimplePresence`.

The presence status that this account should have if it is brought online.

In ITOS2007 and ITOS2008 this is a global preference, not visible on D-Bus (the "default presence"). "Automatic presence" better describes when it is used.

Setting this property MUST NOT actually change the account's status until the next time it is (re)connected for some reason.

The value of this property MUST be one that would be acceptable for RequestedPresence , with the additional restriction that the Connection_Presence_Type MUST NOT be Offline.

Otherwise, it would not be possible to use this presence to bring the account online for a channel request.

Returns
  A pending operation which will emit finished when the property has been set.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyConnectAutomatically | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `ConnectAutomatically` of type `bool`.

If true, the account manager SHOULD attempt to put this account online with the AutomaticPresence whenever possible (in the base Account interface this is deliberately left vague). If false, it MUST NOT put the account online automatically in response to, for instance, connectivity changes, but SHOULD still put the account online with the AutomaticPresence if requested by the user (for instance, if the user tries to start a conversation using this account).

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingOperation* Tp::Client::AccountInterface::setPropertyConnectAutomatically | ( | bool | newValue | ) |
| inline

Asynchronous setter for the remote object property `ConnectAutomatically` of type `bool`.

If true, the account manager SHOULD attempt to put this account online with the AutomaticPresence whenever possible (in the base Account interface this is deliberately left vague). If false, it MUST NOT put the account online automatically in response to, for instance, connectivity changes, but SHOULD still put the account online with the AutomaticPresence if requested by the user (for instance, if the user tries to start a conversation using this account).

Returns
  A pending operation which will emit finished when the property has been set.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyConnection | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `Connection` of type `QDBusObjectPath`.

Either the object path of the ConnectionInterface to this account, or the special value `'/'` if there is no connection.

If this object path is not '/', the Connection's well-known bus name can be derived from this object path by removing the first '/' and replacing subsequent '/' characters with '.'.

Object paths aren't nullable, so we can't use an empty string.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyConnectionStatus | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `ConnectionStatus` of type `uint`.

If the Connection property is non-empty, the status of that connection. If the Connection property is the empty string, this property may either be Disconnected (indicating that the account manager is not attempting to bring it online), or Connecting (indicating that the account manager is attempting to connect). The account manager is expected to set this by observing signals from the Connection. If the AM is doing some sort of backoff/delay on reconnection attempts, the account's status is conceptually "Connecting" even though there is no Connection.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyConnectionStatusReason | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `ConnectionStatusReason` of type `uint`.

The reason for the last change to ConnectionStatus. The account manager is expected to set this by observing signals from the Connection. If you weren't watching the Connection at the time it failed, you can't tell why - unless the AM can tell you.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyConnectionError | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `ConnectionError` of type `QString`.

If the last connection to this account failed with an error, the D-Bus error name of that error; otherwise, the empty string. The account manager is expected to set this by observing the ConnectionInterface::ConnectionError() and ConnectionInterface::StatusChanged() signals.

If ConnectionError is received before the connection disconnects, its first argument should be used to set this property; otherwise, the Reason argument of StatusChanged should be converted to a suitable D-Bus error name.

Whenever the Connection connects successfully, this property should be reset to the empty string.

This combines the state-recoverability of ConnectionStatusReason with the extensibility of Connection.ConnectionError.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyConnectionErrorDetails | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `ConnectionErrorDetails` of type `QVariantMap`.

If the last connection to this account failed with an error, a mapping representing any additional information about the last disconnection; otherwise, the empty map. The keys and values are the same as for the second argument of ConnectionInterface::ConnectionError() .

Whenever the Connection connects successfully, this property should be reset to the empty map.

This combines the state-recoverability of ConnectionStatusReason with the extensibility of Connection.ConnectionError.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyCurrentPresence | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `CurrentPresence` of type `Tp::SimplePresence`.

The actual presence. If the connection is not online, the Connection_Presence_Type SHOULD be Connection_Presence_Type_Offline. If the connection is online but does not support the SimplePresence interface, the type SHOULD be Connection_Presence_Type_Unset. The account manager is expected to set this by observing signals from the Connection.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyRequestedPresence | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `RequestedPresence` of type `Tp::SimplePresence`.

The requested presence for this account. When this is changed, the account manager should attempt to manipulate the connection manager to make CurrentPresence match RequestedPresence as closely as possible. It should not be saved to any sort of persistent storage.

When the account manager automatically connects an account, it must signal this by setting the RequestedPresence to the same thing as the AutomaticPresence .

The Connection_Presence_Type in this property MUST NOT be Unset, Unknown or Error.

Requesting those presence types doesn't make sense.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingOperation* Tp::Client::AccountInterface::setPropertyRequestedPresence | ( | Tp::SimplePresence | newValue | ) |
| inline

Asynchronous setter for the remote object property `RequestedPresence` of type `Tp::SimplePresence`.

The requested presence for this account. When this is changed, the account manager should attempt to manipulate the connection manager to make CurrentPresence match RequestedPresence as closely as possible. It should not be saved to any sort of persistent storage.

When the account manager automatically connects an account, it must signal this by setting the RequestedPresence to the same thing as the AutomaticPresence .

The Connection_Presence_Type in this property MUST NOT be Unset, Unknown or Error.

Requesting those presence types doesn't make sense.

Returns
  A pending operation which will emit finished when the property has been set.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyChangingPresence | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `ChangingPresence` of type `bool`.

If true, a change to the presence of this account is in progress.

Whenever RequestedPresence is set on an account that could go online, or whenever an account with a non-offline RequestedPresence becomes able to go online (for instance because Enabled or Valid changes to True), ChangingPresence MUST change to True, and the two property changes MUST be emitted in the same AccountPropertyChanged() signal, before the Set method returns.

When the account manager succeeds or fails in changing the presence, or the connection disconnects due to an error, ChangingPresence MUST change to False as part of the same AccountPropertyChanged() signal.

This allows UIs to indicate that a presence change is in progress or has finished, even if the change was initiated by a different UI.

For instance, Maemo 5 and Empathy indicate a presence change by having the presence indicator alternate between the RequestedPresence and the CurrentPresence ; they should start blinking when ChangingPresence becomes true, and stop when it becomes false.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyNormalizedName | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `NormalizedName` of type `QString`.

The normalized user ID of the local user on this account (i.e. the string returned when the ConnectionInterface::InspectHandles() method is called on the result of ConnectionInterface::GetSelfHandle() for an active connection).

It is unspecified whether this user ID is globally unique.

As currently implemented, IRC user IDs are only unique within the same IRCnet. On some saner protocols, the user ID includes a DNS name which provides global uniqueness.

If this value is not known yet (which will always be the case for accounts that have never been online), it will be an empty string.

It is possible that this value will change if the connection manager's normalization algorithm changes, although this SHOULD be avoided.

It's not always completely clear what normalization algorithm should be used; for instance, in Gabble, we currently use JIDs, but it would also have been reasonable to use xmpp URIs.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertyHasBeenOnline | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `HasBeenOnline` of type `bool`.

If true, this account has successfully been put online at some point in the past. UIs could apply a policy that the 'account' parameter can only be edited in accounts that have never been online, or that ConnectAutomatically cannot be set on such accounts. The account manager should not enforce such policies, but it can expose enough information to UIs that the UI can decide what to do.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingVariant* Tp::Client::AccountInterface::requestPropertySupersedes | ( |  | ) | const
| inline

Asynchronous getter for the remote object property `Supersedes` of type `Tp::ObjectPathList`.

A list of the object paths of formerly-used accounts which are superseded by this one.

For instance, if an account is migrated from one connection manager implementation to another, or even from one protocol to another (for instance formerly-proprietary services which can now be accessed via XMPP), log storage services could look for logs under all of the superseded object paths as well as the new object path.

This is a list because a single user-visible account could be migrated more than once.

If the Account Manager implementation performs an account migration automatically, it SHOULD set this property. If a client performs an account migration, it SHOULD set this property via via the Properties argument of AccountManagerInterface::CreateAccount() when creating the migrated account. In either case, the value SHOULD include the old account's path, and every path from the old account's Supersedes property.

Returns
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingOperation* Tp::Client::AccountInterface::setPropertySupersedes | ( | Tp::ObjectPathList | newValue | ) |
| inline

Asynchronous setter for the remote object property `Supersedes` of type `Tp::ObjectPathList`.

A list of the object paths of formerly-used accounts which are superseded by this one.

For instance, if an account is migrated from one connection manager implementation to another, or even from one protocol to another (for instance formerly-proprietary services which can now be accessed via XMPP), log storage services could look for logs under all of the superseded object paths as well as the new object path.

This is a list because a single user-visible account could be migrated more than once.

If the Account Manager implementation performs an account migration automatically, it SHOULD set this property. If a client performs an account migration, it SHOULD set this property via via the Properties argument of AccountManagerInterface::CreateAccount() when creating the migrated account. In either case, the value SHOULD include the old account's path, and every path from the old account's Supersedes property.

Returns
  A pending operation which will emit finished when the property has been set.

Tp::PendingVariantMap* Tp::Client::AccountInterface::requestAllProperties | ( |  | ) | const
| inline

Request all of the DBus properties on the interface.

Returns
  A pending variant map which will emit finished when the properties have been retrieved.

QDBusPendingReply Tp::Client::AccountInterface::Remove | ( | int | timeout = `-1` | ) |
| inlineslot

Begins a call to the D-Bus method `Remove` on the remote object.

Delete the account.

Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.

Parameters

  timeout | The timeout in milliseconds.

QDBusPendingReply<QStringList> Tp::Client::AccountInterface::UpdateParameters | ( | const QVariantMap & | set,
|  | const QStringList & | unset,
|  | int | timeout = `-1`
| ) |  |
| inlineslot

Begins a call to the D-Bus method `UpdateParameters` on the remote object.

Change the value of the Parameters property.

If any of the Set parameters’ Conn_Mgr_Param_Flags include `DBus_Property`, the change will be applied immediately to the corresponding D-Bus Property on the active Connection , if there is one. If any of the Unset parameters’ Conn_Mgr_Param_Flags include both `DBus_Property` and `Has_Default`, the corresponding D-Bus Property on the connection will be set to the default value. Changes to other parameters will not take effect until the next time the account is disconnected and reconnected. (If parameters are explicitly set to their default value, or are unset when previously set to their default value, the account manager MAY decide that no reconnection is necessary to make the change take effect.)

In general, reconnecting is a destructive operation that shouldn't happen as a side-effect. In particular, migration tools that twiddle the settings of all accounts shouldn't cause an automatic disconnect and reconnect.

Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.

Parameters

  set |
      A mapping from parameter names to their values. These parameters
      should be stored for future use.
  unset |
      A list of the names of parameters to be removed from the set of
      stored values, allowing the default values to be used. If the given
      parameters were not, in fact, stored, or even if they do not exist
      at all, the account manager MUST accept this without error.
  timeout | The timeout in milliseconds.

Returns

If all of the updates could be applied to the active Connection (if any), the empty list, signifying that no reconnection is required for the new parameters to take effect. For example, if the only parameter updated is `...Cellular. ConnectionInterfaceCellularInterface::MessageValidityPeriod` , the new value can be applied immediately to the connection.

Otherwise, a list of the names of parameters with changes that will not take effect until the account is reconnected. User interfaces that require "instant apply" semantics MAY call Reconnect() in response to receiving a non-empty list. For example, if the caller updates both `...Anonymity. ConnectionInterfaceAnonymityInterface::AnonymityMandatory` and `require-encryption`, the former can be applied to the current connection, but the latter needs a reconnect to take effect, so this method should return `["require-encryption"]`.

QDBusPendingReply Tp::Client::AccountInterface::Reconnect | ( | int | timeout = `-1` | ) |
| inlineslot

Begins a call to the D-Bus method `Reconnect` on the remote object.

Re-connect this account. If the account is currently disconnected and the requested presence is offline, or if the account is not Enabled or not Valid , this does nothing.

If the account is disconnected and the requested presence is not offline, this forces an attempt to connect with the requested presence immediately.

If the account is connecting or connected, this is equivalent to remembering the current value of RequestedPresence , setting its value to (OFFLINE, "offline", ""), waiting for the change to take effect, then setting its value to the value that was previously remembered.

Clients desiring "instant apply" semantics for CM parameters MAY call this method to achieve that.

In particular, if the account's Connection is in the Connecting state, calling this method causes the attempt to connect to be aborted and re-tried.

This is necessary to ensure that the new parameters are picked up.

Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.

Parameters

  timeout | The timeout in milliseconds.

void Tp::Client::AccountInterface::Removed | ( |  | ) |
| signal

Represents the signal `Removed` on the remote object.

This account has been removed. This is redundant with AccountRemoved, but it's still worth having, to avoid having to bind to AccountManager.AccountRemoved to tell you whether your Account is valid — ideally, an account-editing UI should only care about a single Account.

void Tp::Client::AccountInterface::AccountPropertyChanged | ( | const QVariantMap & | properties | ) |
| signal

Represents the signal `AccountPropertyChanged` on the remote object.

The values of one or more properties on this interface (that do not specify that this signal does not apply to them) may have changed. This does not cover properties of other interfaces, which must provide their own change notification if appropriate.

Parameters

  properties |
      A map from property names in this namespace (e.g. Nickname) to
      values. Properties whose values have not changed SHOULD be omitted,
      but this need not be done.

void Tp::Client::AccountInterface::invalidate | ( | Tp::DBusProxy * | proxy,
|  | const QString & | error,
|  | const QString & | message
| ) |  |
| protectedvirtual

Reimplemented from Tp::AbstractInterface.