23 #ifndef _TelepathyQt_channel_h_HEADER_GUARD_ 24 #define _TelepathyQt_channel_h_HEADER_GUARD_ 26 #ifndef IN_TP_QT_HEADER 27 #error IN_TP_QT_HEADER 30 #include <TelepathyQt/_gen/cli-channel.h> 32 #include <TelepathyQt/Constants> 33 #include <TelepathyQt/DBus> 34 #include <TelepathyQt/DBusProxy> 35 #include <TelepathyQt/OptionalInterfaceFactory> 36 #include <TelepathyQt/ReadinessHelper> 37 #include <TelepathyQt/SharedPtr> 38 #include <TelepathyQt/Types> 41 #include <QSharedDataPointer> 42 #include <QVariantMap> 48 class PendingOperation;
61 static ChannelPtr create(
const ConnectionPtr &connection,
62 const QString &objectPath,
const QVariantMap &immutableProperties);
66 ConnectionPtr connection()
const;
68 QVariantMap immutableProperties()
const;
73 uint targetHandle()
const;
75 ContactPtr targetContact()
const;
77 bool isRequested()
const;
78 ContactPtr initiatorContact()
const;
86 bool groupCanAddContacts()
const;
87 bool groupCanAddContactsWithMessage()
const;
88 bool groupCanAcceptContactsWithMessage()
const;
91 bool groupCanRescindContacts()
const;
92 bool groupCanRescindContactsWithMessage()
const;
93 bool groupCanRemoveContacts()
const;
94 bool groupCanRemoveContactsWithMessage()
const;
95 bool groupCanRejectContactsWithMessage()
const;
96 bool groupCanDepartWithMessage()
const;
101 Contacts groupContacts(
bool includeSelfContact =
true)
const;
102 Contacts groupLocalPendingContacts(
bool includeSelfContact =
true)
const;
103 Contacts groupRemotePendingContacts(
bool includeSelfContact =
true)
const;
114 bool isValid()
const {
return mPriv.constData() != 0; }
116 bool hasActor()
const;
117 ContactPtr actor()
const;
131 QVariantMap allDetails()
const;
141 friend struct Private;
148 bool groupAreHandleOwnersAvailable()
const;
151 bool groupIsSelfContactTracked()
const;
152 ContactPtr groupSelfContact()
const;
154 bool isConference()
const;
155 Contacts conferenceInitialInviteeContacts()
const;
160 bool supportsConferenceMerging()
const;
163 bool supportsConferenceSplitting()
const;
170 void groupCanAddContactsChanged(
bool canAddContacts);
171 void groupCanRemoveContactsChanged(
bool canRemoveContacts);
172 void groupCanRescindContactsChanged(
bool canRescindContacts);
174 void groupMembersChanged(
175 const Tp::Contacts &groupMembersAdded,
176 const Tp::Contacts &groupLocalPendingMembersAdded,
177 const Tp::Contacts &groupRemotePendingMembersAdded,
178 const Tp::Contacts &groupMembersRemoved,
184 void groupSelfContactChanged();
186 void conferenceChannelMerged(
const Tp::ChannelPtr &channel);
187 void conferenceChannelRemoved(
const Tp::ChannelPtr &channel,
191 Channel(
const ConnectionPtr &connection,
const QString &objectPath,
192 const QVariantMap &immutableProperties,
const Feature &coreFeature);
196 bool groupSelfHandleIsLocalPending()
const;
206 TP_QT_NO_EXPORT
void onClosed();
209 TP_QT_NO_EXPORT
void onConnectionInvalidated();
218 TP_QT_NO_EXPORT
void onGroupFlagsChanged(uint added, uint removed);
219 TP_QT_NO_EXPORT
void onMembersChanged(
const QString &message,
222 uint actor, uint reason);
223 TP_QT_NO_EXPORT
void onMembersChangedDetailed(
226 const QVariantMap &details);
228 TP_QT_NO_EXPORT
void onSelfHandleChanged(uint selfHandle);
232 TP_QT_NO_EXPORT
void onConferenceChannelMerged(
const QDBusObjectPath &channel, uint channelSpecificHandle,
233 const QVariantMap &properties);
234 TP_QT_NO_EXPORT
void onConferenceChannelMerged(
const QDBusObjectPath &channel);
235 TP_QT_NO_EXPORT
void onConferenceChannelRemoved(
const QDBusObjectPath &channel,
const QVariantMap &details);
236 TP_QT_NO_EXPORT
void onConferenceChannelRemoved(
const QDBusObjectPath &channel);
241 friend class PendingLeave;
244 friend struct Private;
The StatefulDBusProxy class is a base class representing a remote object whose API is stateful...
Definition: dbus-proxy.h:96
bool hasDebugMessage() const
Definition: channel.h:128
HandleType
Definition: obj-x86_64-linux-gnu/TelepathyQt/_gen/constants.h:1375
bool hasMessage() const
Definition: channel.h:122
Definition: cli-channel.h:44
QString message() const
Definition: channel.h:123
ChannelGroupChangeReason
Definition: obj-x86_64-linux-gnu/TelepathyQt/_gen/constants.h:3234
The ContactManager class is responsible for managing contacts.
Definition: contact-manager.h:50
bool hasError() const
Definition: channel.h:125
bool hasReason() const
Definition: channel.h:119
The OptionalInterfaceFactory class is a helper class for high-level D-Bus proxy classes willing to of...
Definition: optional-interface-factory.h:65
The Channel::GroupMemberChangeDetails class represents the details of a group membership change...
Definition: channel.h:105
bool isValid() const
Definition: channel.h:114
QString debugMessage() const
Definition: channel.h:129
The Contact class represents a Telepathy contact.
Definition: contact.h:51
Definition: obj-x86_64-linux-gnu/TelepathyQt/_gen/constants.h:3255
The Channel class represents a Telepathy channel.
Definition: channel.h:51
Definition: obj-x86_64-linux-gnu/TelepathyQt/_gen/types.h:1677
QString error() const
Definition: channel.h:126
Definition: obj-x86_64-linux-gnu/TelepathyQt/_gen/types.h:107
The Feature class represents a feature that can be enabled on demand.
Definition: feature.h:41
ChannelGroupChangeReason reason() const
Definition: channel.h:120
static const Feature FeatureCore
Definition: channel.h:58
The PendingOperation class is a base class for pending asynchronous operations.
Definition: pending-operation.h:45
Definition: abstract-adaptor.cpp:31
static const Feature FeatureConferenceInitialInviteeContacts
Definition: channel.h:59