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

Signals | Public Member Functions | List of all members
Tp::ContactManager Class Reference
Client-side proxies » Connection proxies

The ContactManager class is responsible for managing contacts. More...

`#include <TelepathyQt/ContactManager>`

Inheritance diagram for Tp::ContactManager:
[legend]

## Signals

void | stateChanged (Tp::ContactListState state)
void | presencePublicationRequested (const Tp::Contacts &contacts)
void | groupAdded (const QString &group)
void | groupRenamed (const QString &oldGroup, const QString &newGroup)
void | groupRemoved (const QString &group)
void | groupMembersChanged (const QString &group, const Tp::Contacts &groupMembersAdded, const Tp::Contacts &groupMembersRemoved, const Tp::Channel::GroupMemberChangeDetails &details)
void | allKnownContactsChanged (const Tp::Contacts &contactsAdded, const Tp::Contacts &contactsRemoved, const Tp::Channel::GroupMemberChangeDetails &details)
Signals inherited from Tp::Object
void | propertyChanged (const QString &propertyName)

## Public Member Functions

virtual | ~ContactManager ()
ConnectionPtr | connection () const
Features | supportedFeatures () const
ContactListState | state () const
Contacts | allKnownContacts () const
QStringList | allKnownGroups () const
PendingOperation * | addGroup (const QString &group)
PendingOperation * | removeGroup (const QString &group)
Contacts | groupContacts (const QString &group) const
PendingOperation * | addContactsToGroup (const QString &group, const QList< ContactPtr > &contacts)
PendingOperation * | removeContactsFromGroup (const QString &group, const QList< ContactPtr > &contacts)
bool | canRequestPresenceSubscription () const
bool | subscriptionRequestHasMessage () const
PendingOperation * | requestPresenceSubscription (const QList< ContactPtr > &contacts, const QString &message=QString())
bool | canRemovePresenceSubscription () const
bool | subscriptionRemovalHasMessage () const
bool | canRescindPresenceSubscriptionRequest () const
bool | subscriptionRescindingHasMessage () const
PendingOperation * | removePresenceSubscription (const QList< ContactPtr > &contacts, const QString &message=QString())
bool | canAuthorizePresencePublication () const
bool | publicationAuthorizationHasMessage () const
PendingOperation * | authorizePresencePublication (const QList< ContactPtr > &contacts, const QString &message=QString())
bool | publicationRejectionHasMessage () const
bool | canRemovePresencePublication () const
bool | publicationRemovalHasMessage () const
PendingOperation * | removePresencePublication (const QList< ContactPtr > &contacts, const QString &message=QString())
PendingOperation * | removeContacts (const QList< ContactPtr > &contacts, const QString &message=QString())
bool | canBlockContacts () const
bool | canReportAbuse () const
PendingOperation * | blockContacts (const QList< ContactPtr > &contacts)
PendingOperation * | blockContactsAndReportAbuse (const QList< ContactPtr > &contacts)
PendingOperation * | unblockContacts (const QList< ContactPtr > &contacts)
PendingContacts * | contactsForHandles (const UIntList &handles, const Features &features=Features())
PendingContacts * | contactsForHandles (const ReferencedHandles &handles, const Features &features=Features())
PendingContacts * | contactsForHandles (const HandleIdentifierMap &handles, const Features &features=Features())
PendingContacts * | contactsForIdentifiers (const QStringList &identifiers, const Features &features=Features())
PendingContacts * | contactsForVCardAddresses (const QString &vcardField, const QStringList &vcardAddresses, const Features &features=Features())
PendingContacts * | contactsForUris (const QStringList &uris, const Features &features=Features())
PendingContacts * | upgradeContacts (const QList< ContactPtr > &contacts, const Features &features)
void | requestContactAvatars (const QList< ContactPtr > &contacts)
PendingOperation * | refreshContactInfo (const QList< ContactPtr > &contact)
Public Member Functions inherited from Tp::Object
virtual | ~Object ()
Public Member Functions inherited from QObject
| QObject (QObject *parent)
virtual | ~QObject ()
virtual bool | event (QEvent *e)
virtual bool | eventFilter (QObject *watched, QEvent *event)
virtual const QMetaObject * | metaObject () const
QString | objectName () const
void | setObjectName (const QString &name)
bool | isWidgetType () const
bool | signalsBlocked () const
bool | blockSignals (bool block)
QThread * | thread () const
void | moveToThread (QThread *targetThread)
int | startTimer (int interval)
void | killTimer (int id)
T | findChild (const QString &name) const
QList< T > | findChildren (const QString &name) const
QList< T > | findChildren (const QRegExp &regExp) const
QObject * | child (const char *objName, const char *inheritsClass, bool recursiveSearch) const
const QObjectList & | children () const
void | setParent (QObject *parent)
void | installEventFilter (QObject *filterObj)
void | removeEventFilter (QObject *obj)
bool | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const
bool | disconnect (const char *signal, const QObject *receiver, const char *method)
bool | disconnect (const QObject *receiver, const char *method)
void | dumpObjectTree ()
void | dumpObjectInfo ()
bool | setProperty (const char *name, const QVariant &value)
QVariant | property (const char *name) const
QList< QByteArray > | dynamicPropertyNames () const
void | destroyed (QObject *obj)
QObject * | parent () const
bool | inherits (const char *className) const
void | deleteLater ()
| QObject (QObject *parent, const char *name)
void | insertChild (QObject *object)
void | removeChild (QObject *object)
bool | isA (const char *className) const
const char * | className () const
const char * | name () const
const char * | name (const char *defaultName) const
void | setName (const char *name)
Public Member Functions inherited from Tp::RefCounted
| RefCounted ()
virtual | ~RefCounted ()

## Additional Inherited Members

Static Public Member Functions inherited from QObject
QString | tr (const char *sourceText, const char *disambiguation, int n)
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n)
bool | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
bool | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
Protected Member Functions inherited from Tp::Object
| Object ()
void | notify (const char *propertyName)
Protected Member Functions inherited from QObject
QObject * | sender () const
int | senderSignalIndex () const
int | receivers (const char *signal) const
virtual void | timerEvent (QTimerEvent *event)
virtual void | childEvent (QChildEvent *event)
virtual void | customEvent (QEvent *event)
virtual void | connectNotify (const char *signal)
virtual void | disconnectNotify (const char *signal)
bool | checkConnectArgs (const char *signal, const QObject *object, const char *method)
Static Protected Member Functions inherited from QObject
QByteArray | normalizeSignalSlot (const char *signalSlot)
Properties inherited from QObject
| objectName

## Detailed Description

The ContactManager class is responsible for managing contacts.

See Asynchronous Object Model, Shared Pointer Usage

## Constructor & Destructor Documentation

## § ~ContactManager()

Tp::ContactManager::~ContactManager | ( |  | ) |

virtual

Class destructor.

## Member Function Documentation

## § connection()

ConnectionPtr Tp::ContactManager::connection | ( |  | ) | const

Return the connection owning this ContactManager.

Returns
  A pointer to the Connection object.

## § supportedFeatures()

Features Tp::ContactManager::supportedFeatures | ( |  | ) | const

Return the features that are expected to work on contacts on this ContactManager connection.

This method requires Connection::FeatureCore to be ready.

Returns
  The supported features as a set of Feature objects.

## § state()

ContactListState Tp::ContactManager::state | ( |  | ) | const

Return the progress made in retrieving the contact list.

Change notification is via the stateChanged() signal.

This method requires Connection::FeatureRoster to be ready.

Returns
  The contact list state as ContactListState.

See also
  stateChanged()

## § allKnownContacts()

Contacts Tp::ContactManager::allKnownContacts | ( |  | ) | const

Return a list of relevant contacts (a reasonable guess as to what should be displayed as "the contact list").

This may include any or all of: contacts whose presence the user receives, contacts who are allowed to see the user's presence, contacts stored in some persistent contact list on the server, contacts who the user has blocked from communicating with them, or contacts who are relevant in some other way.

User interfaces displaying a contact list will probably want to filter this list and display some suitable subset of it.

On protocols where there is no concept of presence or a centrally-stored contact list (like IRC), this method may return an empty list.

Change notification is via the allKnownContactsChanged() signal.

This method requires Connection::FeatureRoster to be ready.

Returns
  A set of pointers to the Contact objects.

See also
  allKnownContactsChanged()

## § allKnownGroups()

QStringList Tp::ContactManager::allKnownGroups | ( |  | ) | const

Return a list of user-defined contact list groups' names.

Change notification is via the groupAdded(), groupRemoved() and groupRenamed() signals.

This method requires Connection::FeatureRosterGroups to be ready.

Returns
  The list of user-defined contact list groups names.

See also
  groupMembersChanged(), groupAdded(), groupRemoved(), groupRenamed()

## § addGroup()

PendingOperation * Tp::ContactManager::addGroup | ( | const QString & | group | ) |

Attempt to add an user-defined contact list group named group.

On some protocols (e.g. XMPP) empty groups are not represented on the server, so disconnecting from the server and reconnecting might cause empty groups to vanish.

The returned pending operation will finish successfully if the group already exists.

Change notification is via the groupAdded() signal.

This method requires Connection::FeatureRosterGroups to be ready.

Parameters

  group | The group name.

Returns
  A PendingOperation which will emit PendingOperation::finished when an attempt has been made to add an user-defined contact list group.

See also
  allKnownGroups(), groupAdded(), addContactsToGroup()

## § removeGroup()

PendingOperation * Tp::ContactManager::removeGroup | ( | const QString & | group | ) |

Attempt to remove an user-defined contact list group named group.

Change notification is via the groupRemoved() signal.

This method requires Connection::FeatureRosterGroups to be ready.

Parameters

  group | The group name.

Returns
  A PendingOperation which will emit PendingOperation::finished() when an attempt has been made to remove an user-defined contact list group.

See also
  allKnownGroups(), groupRemoved(), removeContactsFromGroup()

## § groupContacts()

Contacts Tp::ContactManager::groupContacts | ( | const QString & | group | ) | const

Return the contacts in the given user-defined contact list group named group.

Change notification is via the groupMembersChanged() signal.

This method requires Connection::FeatureRosterGroups to be ready.

Parameters

  group | The group name.

Returns
  A set of pointers to the Contact objects, or an empty set if the group does not exist.

See also
  allKnownGroups(), groupMembersChanged()

## § addContactsToGroup()

PendingOperation * Tp::ContactManager::addContactsToGroup | ( | const QString & | group,
|  | const QList< ContactPtr > & | contacts
| ) |  |

Attempt to add the given contacts to the user-defined contact list group named group.

Change notification is via the groupMembersChanged() signal.

This method requires Connection::FeatureRosterGroups to be ready.

Parameters

  group | The group name.
  contacts | Contacts to add.

Returns
  A PendingOperation which will emit PendingOperation::finished() when an attempt has been made to add the contacts to the user-defined contact list group.

See also
  groupMembersChanged(), groupContacts()

## § removeContactsFromGroup()

PendingOperation * Tp::ContactManager::removeContactsFromGroup | ( | const QString & | group,
|  | const QList< ContactPtr > & | contacts
| ) |  |

Attempt to remove the given contacts from the user-defined contact list group named group.

Change notification is via the groupMembersChanged() signal.

This method requires Connection::FeatureRosterGroups to be ready.

Parameters

  group | The group name.
  contacts | Contacts to remove.

Returns
  A PendingOperation which will PendingOperation::finished when an attempt has been made to remove the contacts from the user-defined contact list group.

See also
  groupMembersChanged(), groupContacts()

## § canRequestPresenceSubscription()

bool Tp::ContactManager::canRequestPresenceSubscription | ( |  | ) | const

Return whether subscribing to additional contacts' presence is supported.

In some protocols, the list of contacts whose presence can be seen is fixed, so we can't subscribe to the presence of additional contacts.

Notably, in link-local XMPP, you can see the presence of everyone on the local network, and trying to add more subscriptions would be meaningless.

This method requires Connection::FeatureRoster to be ready.

Returns
  `true` if Contact::requestPresenceSubscription() and requestPresenceSubscription() are likely to succeed, `false` otherwise.

See also
  requestPresenceSubscription(), subscriptionRequestHasMessage()

## § subscriptionRequestHasMessage()

bool Tp::ContactManager::subscriptionRequestHasMessage | ( |  | ) | const

Return whether a message can be sent when subscribing to contacts' presence.

If no message will actually be sent, user interfaces should avoid prompting the user for a message, and use an empty string for the message argument.

This method requires Connection::FeatureRoster to be ready.

Returns
  `true` if the message argument to Contact::requestPresenceSubscription() and requestPresenceSubscription() is actually used, `false` otherwise.

See also
  canRemovePresenceSubscription(), requestPresenceSubscription()

## § requestPresenceSubscription()

PendingOperation * Tp::ContactManager::requestPresenceSubscription | ( | const QList< ContactPtr > & | contacts,
|  | const QString & | message = `QString()`
| ) |  |

Attempt to subscribe to the presence of the given contacts.

This operation is sometimes called "adding contacts to the buddy list" or "requesting authorization".

On most protocols, the contacts will need to give permission before the user will be able to receive their presence: if so, they will be in presence state Contact::PresenceStateAsk until they authorize or deny the request.

The returned PendingOperation will return successfully when a request to subscribe to the contacts' presence has been submitted, or fail if this cannot happen. In particular, it does not wait for the contacts to give permission for the presence subscription.

This method requires Connection::FeatureRoster to be ready.

Parameters

  contacts | Contacts whose presence is desired
  message | A message from the user which is either transmitted to the contacts, or ignored, depending on the protocol

Returns
  A PendingOperation which will PendingOperation::finished() when an attempt has been made to subscribe to the contacts' presence.

See also
  canRequestPresenceSubscription(), subscriptionRequestHasMessage()

## § canRemovePresenceSubscription()

bool Tp::ContactManager::canRemovePresenceSubscription | ( |  | ) | const

Return whether the user can stop receiving the presence of a contact whose presence they have subscribed to.

This method requires Connection::FeatureRoster to be ready.

Returns
  `true` if Contact::removePresenceSubscription() and removePresenceSubscription() are likely to succeed for contacts with subscription state Contact::PresenceStateYes, `false` otherwise.

See also
  removePresenceSubscription(), subscriptionRemovalHasMessage()

## § subscriptionRemovalHasMessage()

bool Tp::ContactManager::subscriptionRemovalHasMessage | ( |  | ) | const

Return whether a message can be sent when removing an existing subscription to the presence of a contact.

If no message will actually be sent, user interfaces should avoid prompting the user for a message, and use an empty string for the message argument.

This method requires Connection::FeatureRoster to be ready.

Returns
  `true` if the message argument to Contact::removePresenceSubscription() and removePresenceSubscription() is actually used, for contacts with subscription state Contact::PresenceStateYes, `false` otherwise.

See also
  canRemovePresencePublication(), removePresenceSubscription()

## § canRescindPresenceSubscriptionRequest()

bool Tp::ContactManager::canRescindPresenceSubscriptionRequest | ( |  | ) | const

Return whether the user can cancel a request to subscribe to a contact's presence before that contact has responded.

This method requires Connection::FeatureRoster to be ready.

Returns
  `true` if Contact::removePresenceSubscription() and removePresenceSubscription() are likely to succeed for contacts with subscription state Contact::PresenceStateAsk, `false` otherwise.

See also
  removePresenceSubscription(), subscriptionRescindingHasMessage()

## § subscriptionRescindingHasMessage()

bool Tp::ContactManager::subscriptionRescindingHasMessage | ( |  | ) | const

Return whether a message can be sent when cancelling a request to subscribe to the presence of a contact.

If no message will actually be sent, user interfaces should avoid prompting the user for a message, and use an empty string for the message argument.

This method requires Connection::FeatureRoster to be ready.

Returns
  `true` if the message argument to Contact::removePresenceSubscription() and removePresenceSubscription() is actually used, for contacts with subscription state Contact::PresenceStateAsk, `false` otherwise.

See also
  canRescindPresenceSubscriptionRequest(), removePresenceSubscription()

## § removePresenceSubscription()

PendingOperation * Tp::ContactManager::removePresenceSubscription | ( | const QList< ContactPtr > & | contacts,
|  | const QString & | message = `QString()`
| ) |  |

Attempt to stop receiving the presence of the given contacts, or cancel a request to subscribe to their presence that was previously sent.

This method requires Connection::FeatureRoster to be ready.

Parameters

  contacts | Contacts whose presence is no longer required A message from the user which is either transmitted to the contacts, or ignored, depending on the protocol

Returns
  A PendingOperation which will PendingOperation::finished() when an attempt has been made to remove any subscription to the contacts' presence.

See also
  canRemovePresenceSubscription(), canRescindPresenceSubscriptionRequest(), subscriptionRemovalHasMessage(), subscriptionRescindingHasMessage()

## § canAuthorizePresencePublication()

bool Tp::ContactManager::canAuthorizePresencePublication | ( |  | ) | const

Return true if the publication of the user's presence to contacts can be authorized.

This is always true, unless the protocol has no concept of authorizing publication (in which case contacts' publication status can never be Contact::PresenceStateAsk).

This method requires Connection::FeatureRoster to be ready.

Returns
  `true` if Contact::authorizePresencePublication() and authorizePresencePublication() are likely to succeed for contacts with subscription state Contact::PresenceStateAsk, `false` otherwise.

See also
  publicationAuthorizationHasMessage(), authorizePresencePublication()

## § publicationAuthorizationHasMessage()

bool Tp::ContactManager::publicationAuthorizationHasMessage | ( |  | ) | const

Return whether a message can be sent when authorizing a request from a contact that the user's presence is published to them.

If no message will actually be sent, user interfaces should avoid prompting the user for a message, and use an empty string for the message argument.

This method requires Connection::FeatureRoster to be ready.

Returns
  `true` if the message argument to Contact::authorizePresencePublication() and authorizePresencePublication() is actually used, for contacts with subscription state Contact::PresenceStateAsk, `false` otherwise.

See also
  canAuthorizePresencePublication(), authorizePresencePublication()

## § authorizePresencePublication()

PendingOperation * Tp::ContactManager::authorizePresencePublication | ( | const QList< ContactPtr > & | contacts,
|  | const QString & | message = `QString()`
| ) |  |

If the given contacts have asked the user to publish presence to them, grant permission for this publication to take place.

This method requires Connection::FeatureRoster to be ready.

Parameters

  contacts | Contacts who should be allowed to receive the user's presence A message from the user which is either transmitted to the contacts, or ignored, depending on the protocol

Returns
  A PendingOperation which will emit PendingOperation::fininshed when an attempt has been made to authorize publication of the user's presence to the contacts.

See also
  canAuthorizePresencePublication(), publicationAuthorizationHasMessage()

## § publicationRejectionHasMessage()

bool Tp::ContactManager::publicationRejectionHasMessage | ( |  | ) | const

Return whether a message can be sent when rejecting a request from a contact that the user's presence is published to them.

If no message will actually be sent, user interfaces should avoid prompting the user for a message, and use an empty string for the message argument.

This method requires Connection::FeatureRoster to be ready.

Returns
  `true` if the message argument to Contact::removePresencePublication() and removePresencePublication() is actually used, for contacts with subscription state Contact::PresenceStateAsk, `false` otherwise.

See also
  canRemovePresencePublication(), removePresencePublication()

## § canRemovePresencePublication()

bool Tp::ContactManager::canRemovePresencePublication | ( |  | ) | const

Return true if the publication of the user's presence to contacts can be removed, even after permission has been given.

(Rejecting requests for presence to be published is always allowed.)

This method requires Connection::FeatureRoster to be ready.

Returns
  `true` if Contact::removePresencePublication() and removePresencePublication() are likely to succeed for contacts with subscription state Contact::PresenceStateYes, `false` otherwise.

See also
  publicationRemovalHasMessage(), removePresencePublication()

## § publicationRemovalHasMessage()

bool Tp::ContactManager::publicationRemovalHasMessage | ( |  | ) | const

Return whether a message can be sent when revoking earlier permission that the user's presence is published to a contact.

If no message will actually be sent, user interfaces should avoid prompting the user for a message, and use an empty string for the message argument.

This method requires Connection::FeatureRoster to be ready.

Returns
  `true` if the message argument to Contact::removePresencePublication and removePresencePublication() is actually used, for contacts with subscription state Contact::PresenceStateYes, `false` otherwise.

See also
  canRemovePresencePublication(), removePresencePublication()

## § removePresencePublication()

PendingOperation * Tp::ContactManager::removePresencePublication | ( | const QList< ContactPtr > & | contacts,
|  | const QString & | message = `QString()`
| ) |  |

If the given contacts have asked the user to publish presence to them, deny this request (this should always succeed, unless a network error occurs).

If the given contacts already have permission to receive the user's presence, attempt to revoke that permission (this might not be supported by the protocol - canRemovePresencePublication indicates whether it is likely to succeed).

This method requires Connection::FeatureRoster to be ready.

Parameters

  contacts | Contacts who should no longer be allowed to receive the user's presence A message from the user which is either transmitted to the contacts, or ignored, depending on the protocol

Returns
  A PendingOperation which will emit PendingOperation::finished() when an attempt has been made to remove any publication of the user's presence to the contacts.

See also
  canRemovePresencePublication(), publicationRejectionHasMessage(), publicationRemovalHasMessage()

## § removeContacts()

PendingOperation * Tp::ContactManager::removeContacts | ( | const QList< ContactPtr > & | contacts,
|  | const QString & | message = `QString()`
| ) |  |

Remove completely contacts from the server. It has the same effect than calling removePresencePublication() and removePresenceSubscription(), but also remove from 'stored' list if it exists.

This method requires Connection::FeatureRoster to be ready.

Parameters

  contacts | Contacts who should be removed A message from the user which is either transmitted to the contacts, or ignored, depending on the protocol

Returns
  A PendingOperation which will emit PendingOperation::finished when an attempt has been made to remove any publication of the user's presence to the contacts.

## § canBlockContacts()

bool Tp::ContactManager::canBlockContacts | ( |  | ) | const

Return whether this protocol has a list of blocked contacts.

This method requires Connection::FeatureRoster to be ready.

Returns
  `true` if blockContacts() is likely to succeed, `false` otherwise.

## § canReportAbuse()

bool Tp::ContactManager::canReportAbuse | ( |  | ) | const

Return whether this protocol can report abusive contacts.

This method requires Connection::FeatureRoster to be ready.

Returns
  `true` if reporting abuse when blocking contacts is supported, `false` otherwise.

## § blockContacts()

PendingOperation * Tp::ContactManager::blockContacts | ( | const QList< ContactPtr > & | contacts | ) |

Block the given contacts. Blocked contacts cannot send messages to the user; depending on the protocol, blocking a contact may have other effects.

This method requires Connection::FeatureRoster to be ready.

Parameters

  contacts | Contacts that should be blocked.

Returns
  A PendingOperation which will emit PendingOperation::finished() when an attempt has been made to take the requested action.

See also
  canBlockContacts(), unblockContacts(), blockContactsAndReportAbuse()

## § blockContactsAndReportAbuse()

PendingOperation * Tp::ContactManager::blockContactsAndReportAbuse | ( | const QList< ContactPtr > & | contacts | ) |

Block the given contacts and additionally report abusive behaviour to the server.

If reporting abusive behaviour is not supported by the protocol, this method has the same effect as blockContacts().

This method requires Connection::FeatureRoster to be ready.

Parameters

  contacts | Contacts who should be added to the list of blocked contacts.

Returns
  A PendingOperation which will emit PendingOperation::finished() when an attempt has been made to take the requested action.

See also
  canBlockContacts(), canReportAbuse(), blockContacts()

## § unblockContacts()

PendingOperation * Tp::ContactManager::unblockContacts | ( | const QList< ContactPtr > & | contacts | ) |

Unblock the given contacts.

This method requires Connection::FeatureRoster to be ready.

Parameters

  contacts | Contacts that should be unblocked.

Returns
  A PendingOperation which will emit PendingOperation::finished() when an attempt has been made to take the requested action.

See also
  canBlockContacts(), blockContacts(), blockContactsAndReportAbuse()

## § contactsForHandles() [1/3]

PendingContacts * Tp::ContactManager::contactsForHandles | ( | const UIntList & | handles,
|  | const Features & | features = `Features()`
| ) |  |

## § contactsForHandles() [2/3]

PendingContacts * Tp::ContactManager::contactsForHandles | ( | const ReferencedHandles & | handles,
|  | const Features & | features = `Features()`
| ) |  |

## § contactsForHandles() [3/3]

PendingContacts * Tp::ContactManager::contactsForHandles | ( | const HandleIdentifierMap & | handles,
|  | const Features & | features = `Features()`
| ) |  |

## § contactsForIdentifiers()

PendingContacts * Tp::ContactManager::contactsForIdentifiers | ( | const QStringList & | identifiers,
|  | const Features & | features = `Features()`
| ) |  |

## § contactsForVCardAddresses()

PendingContacts * Tp::ContactManager::contactsForVCardAddresses | ( | const QString & | vcardField,
|  | const QStringList & | vcardAddresses,
|  | const Features & | features = `Features()`
| ) |  |

Request contacts and enable their features using a given field in their vcards.

This method requires Connection::FeatureCore to be ready.

Parameters

  vcardField | The vcard field of the addresses we are requesting. Supported fields can be found in ProtocolInfo::addressableVCardFields().
  vcardAddresses | The addresses to get contacts for. The address types must match the given vcard field.
  features | The Contact features to enable.

Returns
  A PendingContacts, which will emit PendingContacts::finished when the contacts are retrieved or an error occurred.

See also
  contactsForHandles(), contactsForIdentifiers(), contactsForUris(), ProtocolInfo::normalizeVCardAddress()

## § contactsForUris()

PendingContacts * Tp::ContactManager::contactsForUris | ( | const QStringList & | uris,
|  | const Features & | features = `Features()`
| ) |  |

Request contacts and enable their features using the given URI addresses.

This method requires Connection::FeatureCore to be ready.

Parameters

  uris | The URI addresses to get contacts for. Supported schemes can be found in ProtocolInfo::addressableUriSchemes().
  features | The Contact features to enable.

Returns
  A PendingContacts, which will emit PendingContacts::finished when the contacts are retrieved or an error occurred.

See also
  contactsForHandles(), contactsForIdentifiers(), contactsForVCardAddresses(), ProtocolInfo::normalizeContactUri()

## § upgradeContacts()

PendingContacts * Tp::ContactManager::upgradeContacts | ( | const QList< ContactPtr > & | contacts,
|  | const Features & | features
| ) |  |

## § requestContactAvatars()

void Tp::ContactManager::requestContactAvatars | ( | const QList< ContactPtr > & | contacts | ) |

Start a request to retrieve the avatar for the given contacts.

Force the request of the avatar data. This method returns directly, emitting Contact::avatarTokenChanged() and Contact::avatarDataChanged() signals once the token and data are fetched from the server.

This is only useful if the avatar token is unknown; see Contact::isAvatarTokenKnown(). It happens in the case of offline XMPP contacts, because the server does not send the token for them and an explicit request of the avatar data is needed.

This method requires Contact::FeatureAvatarData to be ready.

See also
  Contact::avatarData(), Contact::avatarDataChanged(), Contact::avatarToken(), Contact::avatarTokenChanged()

## § refreshContactInfo()

PendingOperation * Tp::ContactManager::refreshContactInfo | ( | const QList< ContactPtr > & | contacts | ) |

Refresh information for the given contact.

Once the information is retrieved infoFieldsChanged() will be emitted.

This method requires Contact::FeatureInfo to be ready.

Returns
  A PendingOperation, which will emit PendingOperation::finished when the call has finished.

See also
  infoFieldsChanged()

## § stateChanged

void Tp::ContactManager::stateChanged | ( | Tp::ContactListState | state | ) |

signal

## § presencePublicationRequested

void Tp::ContactManager::presencePublicationRequested | ( | const Tp::Contacts & | contacts | ) |

signal

Emitted whenever some contacts request for presence publication.

Parameters

  contacts | A set of contacts which requested presence publication.

## § groupAdded

void Tp::ContactManager::groupAdded | ( | const QString & | group | ) |

signal

Emitted when a new contact list group is created.

Parameters

  group | The group name.

See also
  allKnownGroups()

## § groupRenamed

void Tp::ContactManager::groupRenamed | ( | const QString & | oldGroup,
|  | const QString & | newGroup
| ) |  |

signal

Emitted when a new contact list group is renamed.

Parameters

  oldGroup | The old group name.
  newGroup | The new group name.

See also
  allKnownGroups()

## § groupRemoved

void Tp::ContactManager::groupRemoved | ( | const QString & | group | ) |

signal

Emitted when a contact list group is removed.

Parameters

  group | The group name.

See also
  allKnownGroups()

## § groupMembersChanged

void Tp::ContactManager::groupMembersChanged | ( | const QString & | group,
|  | const Tp::Contacts & | groupMembersAdded,
|  | const Tp::Contacts & | groupMembersRemoved,
|  | const Tp::Channel::GroupMemberChangeDetails & | details
| ) |  |

signal

Emitted whenever some contacts got removed or added from a group.

Parameters

  group | The name of the group that changed.
  groupMembersAdded | A set of contacts which were added to the group group.
  groupMembersRemoved | A set of contacts which were removed from the group group.
  details | The change details.

See also
  groupContacts()

## § allKnownContactsChanged

void Tp::ContactManager::allKnownContactsChanged | ( | const Tp::Contacts & | contactsAdded,
|  | const Tp::Contacts & | contactsRemoved,
|  | const Tp::Channel::GroupMemberChangeDetails & | details
| ) |  |

signal

Emitted whenever some contacts got removed or added from ContactManager's known contact list. It is useful for monitoring which contacts are currently known by ContactManager.

Note that, in some protocols, this signal could stream newly added contacts with both presence subscription and publication state set to No. Be sure to watch over publication and/or subscription state changes if that is the case.

Parameters

  contactsAdded | A set of contacts which were added to the known contact list.
  contactsRemoved | A set of contacts which were removed from the known contact list.
  details | The change details.

See also
  allKnownContacts()