Methods
GetContactAttributes | (au: Handles, as: Interfaces, b: Hold) | → | a{ua{sv}}: Attributes |
Properties
ContactAttributeInterfaces | as (DBus_Interface_List) | Read only |
Types
Contact_Attribute | Simple Type | s | |
Single_Contact_Attributes_Map | Mapping | a{sv} | |
Contact_Attributes_Map | Mapping | a{ua{sv}} |
Description
This interface allows many attributes of many contacts to be obtained in a single D-Bus round trip.
Each contact attribute has an string identifier (Contact_Attribute), which is namespaced by the D-Bus interface which defines it.
Methods
GetContactAttributes (au: Handles, as: Interfaces, b: Hold) → a{ua{sv}}: Attributes
Parameters
- Handles — au (Contact_Handle_List)
- Interfaces — as (DBus_Interface_List)
- Hold — b
A list of strings indicating which D-Bus interfaces the calling process is interested in. All supported attributes from these interfaces, whose values can be obtained without additional network activity, will be in the reply.
It is an error to request interfaces that are not supported by this Connection (i.e. mentioned in the ContactAttributeInterfaces property).
This makes it possible to distinguish between interfaces for which the Connection has nothing to say (e.g. we don't know the avatar tokens of any of the contacts, so we omitted them all), and interfaces for which this API isn't supported.
Attributes from the interface org.freedesktop.Telepathy.Connection are always returned, and need not be requested explicitly.
As well as returning cached information immediately, the connection MAY start asynchronous requests to obtain better values for the contact attributes. If better values are later obtained by this process, they will be indicated with the usual signals (such as AliasesChanged).
Returns
- Attributes — a{ua{sv}} (Contact_Attributes_Map)
A dictionary mapping the contact handles to contact attributes. If any of the requested handles are in fact invalid, they are simply omitted from this mapping. If contact attributes are not immediately known, the behaviour is defined by the interface; the attribute should either be omitted from the result or replaced with a default value.
Each contact's attributes will always include at least the
identifier that would be obtained by inspecting the handle
(org.freedesktop.Telepathy.Connection/contact-id
).
Possible Errors
- Disconnected
- Invalid Argument
Properties
ContactAttributeInterfaces — as (DBus_Interface_List)
Types
Contact_Attribute — s
Single_Contact_Attributes_Map — a{sv}
- Attribute — s (Contact_Attribute)
- Value — v
Contact_Attributes_Map — a{ua{sv}}
- Contact — u (Contact_Handle)
- Attributes — a{sv} (Single_Contact_Attributes_Map)