Home · All Classes · All Namespaces · Modules · Functions · Files |
The Contact class represents a Telepathy contact. More...
#include <TelepathyQt/Contact>
Inherits Tp::Object.
Classes | |
class | InfoFields |
The Contact::InfoFields class represents the information of a Telepathy contact. More... | |
Public Types | |
enum | PresenceState { PresenceStateNo, PresenceStateAsk, PresenceStateYes } |
Signals | |
void | aliasChanged (const QString &alias) |
void | avatarTokenChanged (const QString &avatarToken) |
void | avatarDataChanged (const Tp::AvatarData &avatarData) |
void | presenceChanged (const Tp::Presence &presence) |
void | capabilitiesChanged (const Tp::ContactCapabilities &caps) |
void | locationUpdated (const Tp::LocationInfo &location) |
void | infoFieldsChanged (const Tp::Contact::InfoFields &infoFields) |
void | subscriptionStateChanged (Tp::Contact::PresenceState state) |
void | publishStateChanged (Tp::Contact::PresenceState state, const QString &message) |
void | blockStatusChanged (bool blocked) |
void | addedToGroup (const QString &group) |
void | removedFromGroup (const QString &group) |
void | clientTypesChanged (const QStringList &clientTypes) |
Signals inherited from Tp::Object | |
void | propertyChanged (const QString &propertyName) |
Static Public Attributes | |
static const Feature | FeatureAlias |
static const Feature | FeatureAvatarData |
static const Feature | FeatureAvatarToken |
static const Feature | FeatureCapabilities |
static const Feature | FeatureInfo |
static const Feature | FeatureLocation |
static const Feature | FeatureSimplePresence |
static const Feature | FeatureAddresses |
static const Feature | FeatureClientTypes |
Protected Member Functions | |
Contact (ContactManager *manager, const ReferencedHandles &handle, const Features &requestedFeatures, const QVariantMap &attributes) | |
virtual void | augment (const Features &requestedFeatures, const QVariantMap &attributes) |
Protected Member Functions inherited from Tp::Object | |
Object () | |
void | notify (const char *propertyName) |
The Contact class represents a Telepathy contact.
The accessor functions on this object (id(), alias(), and so on) don't make any D-Bus calls; instead, they return/use values cached from a previous introspection run. The introspection process populates their values in the most efficient way possible based on what the service implements.
To avoid unnecessary D-Bus traffic, some accessors only return valid information after specific features have been enabled. For instance, to retrieve the contact avatar token, it is necessary to enable the feature Contact::FeatureAvatarToken. See the individual methods descriptions for more details.
Contact features can be enabled by constructing a ContactFactory and enabling the desired features, and passing it to AccountManager, Account or ClientRegistrar when creating them as appropriate. However, if a particular feature is only ever used in a specific circumstance, such as an user opening some settings dialog separate from the general view of the application, features can be later enabled as needed by calling ContactManager::upgradeContacts() with the additional features, and waiting for the resulting PendingOperation to finish.
As an addition to accessors, signals are emitted to indicate that properties have changed, for example aliasChanged(), avatarTokenChanged(), etc.
Tp::Contact::~Contact | ( | ) |
Class destructor.
|
protected |
Construct a new Contact object.
manager | ContactManager owning this contact. |
handle | The contact handle. |
requestedFeatures | The contact requested features. |
attributes | The contact attributes. |
ContactManagerPtr Tp::Contact::manager | ( | ) | const |
Return the contact nanager owning this contact.
ReferencedHandles Tp::Contact::handle | ( | ) | const |
Return the handle of this contact.
QString Tp::Contact::id | ( | ) | const |
Return the identifier of this contact.
Features Tp::Contact::requestedFeatures | ( | ) | const |
Return the features requested on this contact.
Features Tp::Contact::actualFeatures | ( | ) | const |
Return the features that are actually enabled on this contact.
QString Tp::Contact::alias | ( | ) | const |
Return the alias of this contact.
Change notification is via the aliasChanged() signal.
This method requires Contact::FeatureAlias to be ready.
QMap< QString, QString > Tp::Contact::vcardAddresses | ( | ) | const |
Return the various vcard addresses that identify this contact.
This method requires Contact::FeatureAddresses to be ready.
QStringList Tp::Contact::uris | ( | ) | const |
Return the various URI addresses that identify this contact.
This method requires Contact::FeatureAddresses to be ready.
bool Tp::Contact::isAvatarTokenKnown | ( | ) | const |
Return whether the avatar token of this contact is known.
This method requires Contact::FeatureAvatarToken to be ready.
true
if the avatar token is known, false
otherwise. QString Tp::Contact::avatarToken | ( | ) | const |
Return the avatar token for this contact.
Change notification is via the avatarTokenChanged() signal.
This method requires Contact::FeatureAvatarToken to be ready.
AvatarData Tp::Contact::avatarData | ( | ) | const |
Return the actual avatar for this contact.
Change notification is via the avatarDataChanged() signal.
This method requires Contact::FeatureAvatarData to be ready.
void Tp::Contact::requestAvatarData | ( | ) |
Start a request to retrieve the avatar for this contact.
Force the request of the avatar data. This method returns directly, emitting avatarTokenChanged() and avatarDataChanged() signals once the token and data are fetched from the server.
This is only useful if the avatar token is unknown; see 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.
Presence Tp::Contact::presence | ( | ) | const |
Return the actual presence of this contact.
Change notification is via the presenceChanged() signal.
This method requires Contact::FeatureSimplePresence to be ready.
ContactCapabilities Tp::Contact::capabilities | ( | ) | const |
Return the capabilities for this contact.
User interfaces can use this information to show or hide UI components.
If ContactManager::supportedFeatures() contains Contact::FeatureCapabilities, the returned object will be a ContactCapabilities object, where CapabilitiesBase::isSpecificToContact() will be true
; if that feature isn't present, this returned object is the subset of Contact::manager()::connection()::capabilities() and CapabilitiesBase::isSpecificToContact() will be false
.
Change notification is via the capabilitiesChanged() signal.
This method requires Contact::FeatureCapabilities to be ready.
LocationInfo Tp::Contact::location | ( | ) | const |
Return the location for this contact.
Change notification is via the locationUpdated() signal.
This method requires Contact::FeatureLocation to be ready.
bool Tp::Contact::isContactInfoKnown | ( | ) | const |
Return whether the info card for this contact has been received.
With some protocols (notably XMPP) information is not pushed from the server and must be requested explicitely using refreshInfo() or requestInfo(). This method can be used to know if the information is received from the server or if an explicit request is needed.
This method requires Contacat::FeatureInfo to be ready.
true
if the information is known; false
otherwise. Contact::InfoFields Tp::Contact::infoFields | ( | ) | const |
Return the information for this contact.
Note that this method only return cached information. In order to refresh the information use refreshInfo().
Change notification is via the infoFieldsChanged() signal.
This method requires Contact::FeatureInfo to be ready.
PendingOperation * Tp::Contact::refreshInfo | ( | ) |
Refresh information for the given contact.
Once the information is retrieved infoFieldsChanged() will be emitted.
This method requires Contact::FeatureInfo to be ready.
PendingContactInfo * Tp::Contact::requestInfo | ( | ) |
Start a request to retrieve the information for this contact.
This method is useful for UIs that don't care about notification of changes in the contact information but want to show the contact information (e.g. right-click on a contact and show the contact info).
bool Tp::Contact::isSubscriptionStateKnown | ( | ) | const |
Return whether the presence subscription state of this contact is known.
true
if the presence subscription state is known, false
otherwise. bool Tp::Contact::isSubscriptionRejected | ( | ) | const |
Return whether a request to see this contact's presence was denied.
if
the a request to see the presence subscription was denied, false
otherwise. Contact::PresenceState Tp::Contact::subscriptionState | ( | ) | const |
Return the presence subscription state of this contact (i.e. whether the local user can retrieve information about this contact's presence).
bool Tp::Contact::isPublishStateKnown | ( | ) | const |
Return whether the presence publish state of this contact is known.
true
if the presence publish state is known, false
otherwise. bool Tp::Contact::isPublishCancelled | ( | ) | const |
Return whether a request to publish presence information to this contact was cancelled.
true
if a request to publish presence information was cancelled, false
otherwise. Contact::PresenceState Tp::Contact::publishState | ( | ) | const |
Return the presence publish state of this contact (i.e. whether this contact can retrieve information about the local user's presence).
QString Tp::Contact::publishStateMessage | ( | ) | const |
If the publishState() is Contact::PresenceStateAsk, return an optional message that was sent by the contact asking to receive the local user's presence; omitted if none was given.
PendingOperation * Tp::Contact::requestPresenceSubscription | ( | const QString & | message = QString() | ) |
Start a request that this contact allow the local user to subscribe to their presence (i.e. that this contact's subscribe attribute becomes Contact::PresenceStateYes)
This method requires Connection::FeatureRoster to be ready.
PendingOperation * Tp::Contact::removePresenceSubscription | ( | const QString & | message = QString() | ) |
Start a request for the local user to stop receiving presence from this contact.
This method requires Connection::FeatureRoster to be ready.
PendingOperation * Tp::Contact::authorizePresencePublication | ( | const QString & | message = QString() | ) |
Start a request to authorize this contact's request to see the local user presence (i.e. that this contact publish attribute becomes Contact::PresenceStateYes).
This method requires Connection::FeatureRoster to be ready.
PendingOperation * Tp::Contact::removePresencePublication | ( | const QString & | message = QString() | ) |
Start a request for the local user to stop sending presence to this contact.
This method requires Connection::FeatureRoster to be ready.
bool Tp::Contact::isBlocked | ( | ) | const |
Return whether this contact is blocked.
Change notification is via the blockStatusChanged() signal.
true
if blocked, false
otherwise. PendingOperation * Tp::Contact::block | ( | ) |
Block this contact. 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.
PendingOperation * Tp::Contact::blockAndReportAbuse | ( | ) |
Block this contact 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 block().
This method requires Connection::FeatureRoster to be ready.
PendingOperation * Tp::Contact::unblock | ( | ) |
Unblock this contact.
This method requires Connection::FeatureRoster to be ready.
QStringList Tp::Contact::groups | ( | ) | const |
Return the names of the user-defined roster groups to which the contact belongs.
Change notification is via the addedToGroup() and removedFromGroup() signals.
This method requires Connection::FeatureRosterGroups to be ready.
PendingOperation * Tp::Contact::addToGroup | ( | const QString & | group | ) |
Attempt to add the contact to the user-defined contact list group named group.
This method requires Connection::FeatureRosterGroups to be ready.
group | The group name. |
PendingOperation * Tp::Contact::removeFromGroup | ( | const QString & | group | ) |
Attempt to remove the contact from the user-defined contact list group named group.
This method requires Connection::FeatureRosterGroups to be ready.
group | The group name. |
QStringList Tp::Contact::clientTypes | ( | ) | const |
Return the client types of this contact, if known.
Client types are represented using the values documented by the XMPP registrar, with some additional types. A contact can set one or more client types, or can simply advertise itself as unknown - in this case, an empty list is returned.
This method returns cached information and is more appropriate for "lazy" client type finding, for instance displaying the client types (if available) of everyone in your contact list. For getting latest up-to-date information from the server you should use requestClientTypes() instead.
This method requires FeatureClientTypes to be ready.
PendingStringList * Tp::Contact::requestClientTypes | ( | ) |
Return the current client types of the given contact.
If necessary, this method will make a request to the server for up-to-date information and wait for a reply. Therefore, this method is more appropriate for use in a "Contact Information..." dialog; it can be used to show progress information (while waiting for the method to return), and can distinguish between various error conditions.
This method requires FeatureClientTypes to be ready.
|
signal |
|
signal |
Emitted when the value of avatarToken() changes.
avatarToken | The new avatar token of this contact. |
|
signal |
Emitted when the value of avatarData() changes.
avatarData | The new avatar of this contact. |
|
signal |
Emitted when the value of presence() changes.
presence | The new presence of this contact. |
|
signal |
Emitted when the value of capabilities() changes.
caps | The new capabilities of this contact. |
|
signal |
Emitted when the value of location() changes.
location | The new location of this contact. |
|
signal |
Emitted when the value of infoFields() changes.
infoFields | The new info of this contact. |
|
signal |
Emitted when the value of subscriptionState() changes.
state | The new subscription state of this contact. |
|
signal |
Emitted when the value of publishState() changes.
state | The new publish state of this contact. |
message | The new user-defined status message of this contact. |
|
signal |
Emitted when the value of isBlocked() changes.
blocked | The new block status of this contact. |
|
signal |
Emitted when this contact is added to group of the contact list.
group | The group name. |
|
signal |
Emitted when this contact is removed from group of the contact list.
group | The group name. |
|
signal |
Emitted when the client types of this contact change or become known.
clientTypes | The contact's client types |
|
protectedvirtual |
|
static |
Feature used in order to access contact alias info.
|
static |
Feature used in order to access contact avatar data info.
Enabling this feature will also enable FeatureAvatarToken.
|
static |
Feature used in order to access contact avatar token info.
|
static |
Feature used in order to access contact capabilities info.
|
static |
Feature used in order to access contact info fields.
|
static |
Feature used in order to access contact location info.
|
static |
Feature used in order to access contact presence info.
|
static |
Feature used in order to access contact addressable addresses info.
Copyright © 2008-2011 Collabora Ltd. and Nokia Corporation | Telepathy-Qt 0.9.7 |