#include <TelepathyQt4/Client/ContactManager>
Contacts Telepathy::Client::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.
PendingOperation * Telepathy::Client::ContactManager::authorizePresencePublication | ( | const QList< QSharedPointer< Contact > > & | 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.
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 |
References TELEPATHY_ERROR_NOT_IMPLEMENTED.
PendingOperation * Telepathy::Client::ContactManager::blockContacts | ( | const QList< QSharedPointer< Contact > > & | contacts, | |
bool | value = true | |||
) |
Set whether the given contacts are blocked. Blocked contacts cannot send messages to the user; depending on the protocol, blocking a contact may have other effects.
contacts | Contacts who should be added to, or removed from, the list of blocked contacts | |
value | If true, add the contacts to the list of blocked contacts; if false, remove them from the list |
References TELEPATHY_ERROR_NOT_IMPLEMENTED.
bool Telepathy::Client::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).
bool Telepathy::Client::ContactManager::canBlockContacts | ( | ) | const |
Return whether this protocol has a list of blocked contacts.
bool Telepathy::Client::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.)
bool Telepathy::Client::ContactManager::canRemovePresenceSubscription | ( | ) | const |
Return whether the user can stop receiving the presence of a contact whose presence they have subscribed to.
bool Telepathy::Client::ContactManager::canRequestPresenceSubscription | ( | ) | const |
Return whether subscribing to additional contacts' presence is supported on this channel.
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.
bool Telepathy::Client::ContactManager::canRescindPresenceSubscriptionRequest | ( | ) | const |
Return whether the user can cancel a request to subscribe to a contact's presence before that contact has responded.
Connection * Telepathy::Client::ContactManager::connection | ( | ) | const |
Referenced by isSupported().
PendingContacts * Telepathy::Client::ContactManager::contactsForHandles | ( | const ReferencedHandles & | handles, | |
const QSet< Contact::Feature > & | features = QSet<Contact::Feature>() | |||
) |
References contactsForHandles(), and Telepathy::Client::ReferencedHandles::toList().
PendingContacts * Telepathy::Client::ContactManager::contactsForHandles | ( | const UIntList & | handles, | |
const QSet< Contact::Feature > & | features = QSet<Contact::Feature>() | |||
) |
References Telepathy::Client::PendingContacts::allAttributesFetched(), Telepathy::debug(), PendingContacts, and supportedFeatures().
Referenced by contactsForHandles().
PendingContacts * Telepathy::Client::ContactManager::contactsForIdentifiers | ( | const QStringList & | identifiers, | |
const QSet< Contact::Feature > & | features = QSet<Contact::Feature>() | |||
) |
References Telepathy::debug(), Telepathy::HandleTypeContact, and PendingContacts.
bool Telepathy::Client::ContactManager::isSupported | ( | ) | const |
References connection(), Telepathy::Client::Connection::interfaces(), TELEPATHY_INTERFACE_CONNECTION_INTERFACE_CONTACTS, and Telepathy::warning().
Referenced by supportedFeatures().
void Telepathy::Client::ContactManager::presencePublicationRequested | ( | const Telepathy::Client::Contacts & | contacts | ) | [signal] |
bool Telepathy::Client::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.
References Telepathy::ChannelGroupFlagMessageAccept.
bool Telepathy::Client::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.
References Telepathy::ChannelGroupFlagMessageReject.
bool Telepathy::Client::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.
References Telepathy::ChannelGroupFlagMessageRemove.
PendingOperation * Telepathy::Client::ContactManager::removePresencePublication | ( | const QList< QSharedPointer< Contact > > & | 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).
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 |
References TELEPATHY_ERROR_NOT_IMPLEMENTED.
PendingOperation * Telepathy::Client::ContactManager::removePresenceSubscription | ( | const QList< QSharedPointer< Contact > > & | 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.
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 |
References TELEPATHY_ERROR_NOT_IMPLEMENTED.
PendingOperation * Telepathy::Client::ContactManager::requestPresenceSubscription | ( | const QList< QSharedPointer< Contact > > & | 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.
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 |
References TELEPATHY_ERROR_NOT_IMPLEMENTED.
bool Telepathy::Client::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.
References Telepathy::ChannelGroupFlagMessageRemove.
bool Telepathy::Client::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.
References Telepathy::ChannelGroupFlagMessageAdd.
bool Telepathy::Client::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.
References Telepathy::ChannelGroupFlagMessageRescind.
QSet< Contact::Feature > Telepathy::Client::ContactManager::supportedFeatures | ( | ) | const |
PendingContacts * Telepathy::Client::ContactManager::upgradeContacts | ( | const QList< QSharedPointer< Contact > > & | contacts, | |
const QSet< Contact::Feature > & | features | |||
) |
References Telepathy::debug(), and PendingContacts.
friend class Connection [friend] |
friend class Contact [friend] |
friend class PendingContacts [friend] |
Referenced by contactsForHandles(), contactsForIdentifiers(), and upgradeContacts().
friend struct Private [friend] |