23 #ifndef _TelepathyQt_contact_manager_h_HEADER_GUARD_
24 #define _TelepathyQt_contact_manager_h_HEADER_GUARD_
26 #ifndef IN_TP_QT_HEADER
27 #error IN_TP_QT_HEADER
30 #include <TelepathyQt/Channel>
31 #include <TelepathyQt/Contact>
32 #include <TelepathyQt/Feature>
33 #include <TelepathyQt/Object>
34 #include <TelepathyQt/ReferencedHandles>
35 #include <TelepathyQt/Types>
40 #include <QStringList>
41 #include <QVariantMap>
47 class PendingContacts;
48 class PendingOperation;
58 ConnectionPtr connection()
const;
64 Contacts allKnownContacts()
const;
65 QStringList allKnownGroups()
const;
70 Contacts groupContacts(
const QString &group)
const;
72 const QList<ContactPtr> &contacts);
74 const QList<ContactPtr> &contacts);
76 bool canRequestPresenceSubscription()
const;
77 bool subscriptionRequestHasMessage()
const;
79 const QList<ContactPtr> &contacts,
80 const QString &message = QString());
81 bool canRemovePresenceSubscription()
const;
82 bool subscriptionRemovalHasMessage()
const;
83 bool canRescindPresenceSubscriptionRequest()
const;
84 bool subscriptionRescindingHasMessage()
const;
86 const QList<ContactPtr> &contacts,
87 const QString &message = QString());
88 bool canAuthorizePresencePublication()
const;
89 bool publicationAuthorizationHasMessage()
const;
91 const QList<ContactPtr> &contacts,
92 const QString &message = QString());
93 bool publicationRejectionHasMessage()
const;
94 bool canRemovePresencePublication()
const;
95 bool publicationRemovalHasMessage()
const;
97 const QList<ContactPtr> &contacts,
98 const QString &message = QString());
100 const QList<ContactPtr> &contacts,
101 const QString &message = QString());
103 bool canBlockContacts()
const;
104 bool canReportAbuse()
const;
106 PendingOperation *blockContactsAndReportAbuse(
const QList<ContactPtr> &contacts);
116 PendingContacts *contactsForIdentifiers(
const QStringList &identifiers,
120 const QStringList &vcardAddresses,
128 void requestContactAvatars(
const QList<ContactPtr> &contacts);
135 void presencePublicationRequested(
const Tp::Contacts &contacts);
137 void groupAdded(
const QString &group);
138 void groupRenamed(
const QString &oldGroup,
const QString &newGroup);
139 void groupRemoved(
const QString &group);
141 void groupMembersChanged(
const QString &group,
142 const Tp::Contacts &groupMembersAdded,
143 const Tp::Contacts &groupMembersRemoved,
146 void allKnownContactsChanged(
const Tp::Contacts &contactsAdded,
147 const Tp::Contacts &contactsRemoved,
152 TP_QT_NO_EXPORT
void doRequestAvatars();
153 TP_QT_NO_EXPORT
void onAvatarUpdated(uint,
const QString &);
154 TP_QT_NO_EXPORT
void onAvatarRetrieved(uint,
const QString &,
const QByteArray &,
const QString &);
157 TP_QT_NO_EXPORT
void onLocationUpdated(uint,
const QVariantMap &);
159 TP_QT_NO_EXPORT
void onClientTypesUpdated(uint,
const QStringList &);
160 TP_QT_NO_EXPORT
void doRefreshInfo();
163 class PendingRefreshContactInfo;
168 friend class PendingRefreshContactInfo;
173 TP_QT_NO_EXPORT ContactPtr lookupContactByHandle(uint handle);
177 const QVariantMap &attributes);
178 TP_QT_NO_EXPORT ContactPtr ensureContact(uint bareHandle,
179 const QString &
id,
const Features &features);
181 TP_QT_NO_EXPORT
static QString featureToInterface(
const Feature &feature);
182 TP_QT_NO_EXPORT
void ensureTracking(
const Feature &feature);
186 TP_QT_NO_EXPORT
void resetRoster();
191 friend struct Private;
The ContactManager class is responsible for managing contacts.
Definition: contact-manager.h:50
QList< ContactInfoField > ContactInfoFieldList
Definition: build/TelepathyQt/_gen/types.h:1188
The Object class provides an object with property notification.
Definition: object.h:39
QList< AliasPair > AliasPairList
Definition: build/TelepathyQt/_gen/types.h:224
The Feature class represents a feature that can be enabled on demand.
Definition: feature.h:41
ContactListState
Definition: build/TelepathyQt/_gen/constants.h:1732
The Channel::GroupMemberChangeDetails class represents the details of a group membership change...
Definition: channel.h:105
The PendingOperation class is a base class for pending asynchronous operations.
Definition: pending-operation.h:45
Definition: build/TelepathyQt/_gen/types.h:101
The Connection class represents a Telepathy connection.
Definition: connection.h:62
The PendingContacts class is used by ContactManager when creating/updating Contact objects...
Definition: pending-contacts.h:46
Helper container for safe management of handle lifetimes. Every handle in a ReferencedHandles contain...
Definition: referenced-handles.h:47
The Contact class represents a Telepathy contact.
Definition: contact.h:51
Definition: build/TelepathyQt/_gen/types.h:1646
Definition: build/TelepathyQt/_gen/types.h:3827
The Features class represents a list of Feature.
Definition: feature.h:61
Definition: build/TelepathyQt/_gen/types.h:3428
The Channel class represents a Telepathy channel.
Definition: channel.h:51