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

# AccountManagerInterface Class Reference

`#include <TelepathyQt4/AccountManager>`

Inherits Tp::AbstractInterface.

List of all members.

## Public Slots

- QDBusPendingReply
  < QDBusObjectPath > CreateAccount (const QString &connectionManager, const QString &protocol, const QString &displayName, const QVariantMap &parameters, const QVariantMap &properties)

## Signals

- void AccountRemoved (const QDBusObjectPath &account)
- void AccountValidityChanged (const QDBusObjectPath &account, bool valid)

## Public Member Functions

- AccountManagerInterface (const QString &busName, const QString &objectPath, QObject *parent=0)
- AccountManagerInterface (const QDBusConnection &connection, const QString &busName, const QString &objectPath, QObject *parent=0)
- AccountManagerInterface (Tp::DBusProxy *proxy)
- QStringList Interfaces () const TELEPATHY_GNUC_DEPRECATED
- Tp::ObjectPathList ValidAccounts () const TELEPATHY_GNUC_DEPRECATED
- Tp::ObjectPathList InvalidAccounts () const TELEPATHY_GNUC_DEPRECATED
- QStringList SupportedAccountProperties () const TELEPATHY_GNUC_DEPRECATED

## Static Public Member Functions

- static const char * staticInterfaceName ()

## Protected Member Functions

- virtual void invalidate (Tp::DBusProxy *, const QString &, const QString &)

## Properties

- QStringList Interfaces
- Tp::ObjectPathList ValidAccounts
- Tp::ObjectPathList InvalidAccounts
- QStringList SupportedAccountProperties

## Detailed Description

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

## Constructor & Destructor Documentation

AccountManagerInterface | ( | const QString & | busName,
|  | const QString & | objectPath,
|  | QObject * | parent = `0` |
| ) |  |  |

Creates a AccountManagerInterface 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.

AccountManagerInterface | ( | const QDBusConnection & | connection,
|  | const QString & | busName,
|  | const QString & | objectPath,
|  | QObject * | parent = `0` |
| ) |  |  |

Creates a AccountManagerInterface 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.

AccountManagerInterface | ( | Tp::DBusProxy * | proxy | ) |

Creates a AccountManagerInterface 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 const char* staticInterfaceName | ( |  | ) | `[inline, static]`

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

Returns:
  The D-Bus interface name.

QStringList Interfaces | ( |  | ) | const`[inline]`

Getter for the remote object property "Interfaces".

Don't use this: it blocks the main loop.

Returns:
  The value of the property, or a default-constructed value if the property is not readable.

Tp::ObjectPathList ValidAccounts | ( |  | ) | const`[inline]`

Getter for the remote object property "ValidAccounts".

Don't use this: it blocks the main loop.

Returns:
  The value of the property, or a default-constructed value if the property is not readable.

Tp::ObjectPathList InvalidAccounts | ( |  | ) | const`[inline]`

Getter for the remote object property "InvalidAccounts".

Don't use this: it blocks the main loop.

Returns:
  The value of the property, or a default-constructed value if the property is not readable.

QStringList SupportedAccountProperties | ( |  | ) | const`[inline]`

Getter for the remote object property "SupportedAccountProperties".

Don't use this: it blocks the main loop.

Returns:
  The value of the property, or a default-constructed value if the property is not readable.

QDBusPendingReply<QDBusObjectPath> CreateAccount | ( | const QString & | connectionManager,
|  | const QString & | protocol,
|  | const QString & | displayName,
|  | const QVariantMap & | parameters,
|  | const QVariantMap & | properties |
| ) |  |  | `[inline, slot]`

Begins a call to the D-Bus method "CreateAccount" on the remote object.

Request the creation of a new Account. The account manager SHOULD NOT allow invalid accounts to be created.

Parameters:

  | connectionManager | The name of the connection manager, e.g. "salut".
  | protocol | The protocol, e.g. "local-xmpp".

  displayName

  The initial value of the new account's DisplayName property. The account manager SHOULD modify this to make it unique if an Account already exists with the same display name, for instance by appending a number or the 'account' parameter. Account manager implementations SHOULD accept an empty string, but account editing user interfaces should avoid passing an empty string for this parameter. The account creation UI may ask the user for a name for the new account. If the author of the UI chooses not to do this, the account creation UI is better able to suggest a default display name because it has protocol-specific knowledge which the account manager does not. The account manager always knows the complete list of accounts so it can easily tell whether it should append something to the display name to avoid presenting two identically-named accounts to the user.

  | parameters | Initial parameter values, as would be passed to RequestConnection.
  | properties |

The values of any other properties to be set immediately on the new Account.

Only the properties mentioned in <tp:member-ref>SupportedAccountProperties</tp:member-ref> are acceptable here. In particular, the <tp:dbus-ref namespace="org.freedesktop.Telepathy.Account">DisplayName</tp:dbus-ref> and <tp:dbus-ref namespace="org.freedesktop.Telepathy.Account">Parameters</tp:dbus-ref> properties are never allowed here, since they are set using the other arguments to this method.

Account manager implementations SHOULD support creating accounts with an empty value for this argument.

Returns:

The new Account.

void AccountRemoved | ( | const QDBusObjectPath & | account | ) | `[signal]`

Represents the signal "AccountRemoved" on the remote object.

The given account has been removed. This is effectively change notification for the valid and invalid accounts lists. On emission of this signal, the Account indicated will no longer be present in either of the lists.

Parameters:

  | account | An Account, which must not be used any more.

void AccountValidityChanged | ( | const QDBusObjectPath & | account,
|  | bool | valid |
| ) |  |  | `[signal]`

Represents the signal "AccountValidityChanged" on the remote object.

The validity of the given account has changed. New accounts are also indicated by this signal, as an account validity change (usually to True) on an account that did not previously exist. This is effectively change notification for the valid and invalid accounts lists.

Parameters:

  | account | An Account.
  | valid | True if the account is now valid.

virtual void invalidate | ( | Tp::DBusProxy * | ,
|  | const QString & | ,
|  | const QString & |  |
| ) |  |  | `[protected, virtual]`

## Property Documentation

QStringList Interfaces`[read]`

Represents property "Interfaces" on the remote object.

A list of the interfaces provided by the account manager object.

Tp::ObjectPathList ValidAccounts`[read]`

Represents property "ValidAccounts" on the remote object.

A list of the valid (complete, usable) accounts. Change notification is via AccountValidityChanged. This split between valid and invalid accounts makes it easy to ignore the invalid ones. The only things that should be manipulating invalid accounts are account-editing UIs, which might be able to rescue them.

Tp::ObjectPathList InvalidAccounts`[read]`

Represents property "InvalidAccounts" on the remote object.

A list of incomplete or otherwise unusable accounts. Change notification is via AccountValidityChanged.

QStringList SupportedAccountProperties`[read]`

Represents property "SupportedAccountProperties" on the remote object.

A list of the fully qualified names of properties that can be set via the Properties argument to <tp:member-ref>CreateAccount</tp:member-ref> when an account is created.

<tp:rationale>

Examples of good properties to support here include <tp:dbus-ref namespace="org.freedesktop.Telepathy.Account">Icon</tp:dbus-ref>, <tp:dbus-ref namespace="org.freedesktop.Telepathy.Account">Enabled</tp:dbus-ref>, <tp:dbus-ref namespace="org.freedesktop.Telepathy.Account">Nickname</tp:dbus-ref>, <tp:dbus-ref namespace="org.freedesktop.Telepathy.Account">AutomaticPresence</tp:dbus-ref>, <tp:dbus-ref namespace="org.freedesktop.Telepathy.Account">ConnectAutomatically</tp:dbus-ref>, <tp:dbus-ref namespace="org.freedesktop.Telepathy.Account">RequestedPresence</tp:dbus-ref> and <tp:dbus-ref namespace="org.freedesktop.Telepathy.Account.Interface.Avatar">Avatar</tp:dbus-ref>.

Examples of properties that would make no sense here include <tp:dbus-ref namespace="org.freedesktop.Telepathy.Account">Valid</tp:dbus-ref>, <tp:dbus-ref namespace="org.freedesktop.Telepathy.Account">Connection</tp:dbus-ref>, <tp:dbus-ref namespace="org.freedesktop.Telepathy.Account">ConnectionStatus</tp:dbus-ref>, <tp:dbus-ref namespace="org.freedesktop.Telepathy.Account">ConnectionStatusReason</tp:dbus-ref>, <tp:dbus-ref namespace="org.freedesktop.Telepathy.Account">CurrentPresence</tp:dbus-ref> and <tp:dbus-ref namespace="org.freedesktop.Telepathy.Account">NormalizedName</tp:dbus-ref>. </tp:rationale>

This property MUST NOT include include the <tp:dbus-ref namespace="org.freedesktop.Telepathy.Account">DisplayName</tp:dbus-ref> and <tp:dbus-ref namespace="org.freedesktop.Telepathy.Account">Parameters</tp:dbus-ref> properties, which are set using separate arguments.

This property MAY include the names of properties that, after account creation, will be read-only: this indicates that the property can be set at account creation but not changed later.

<tp:rationale>

For example, an account manager might support migration tools that use this to preserve the <tp:dbus-ref namespace="org.freedesktop.Telepathy.Account">HasBeenOnline</tp:dbus-ref> property, even though that property is usually read-only. </tp:rationale>