Tp::Service::ChannelInterfaceGroupAdaptor Class Reference

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

Public Slots | Signals | Public Member Functions | List of all members
Tp::Service::ChannelInterfaceGroupAdaptor Class Reference
Channel service implementation

`#include <TelepathyQt/_gen/svc-channel.h>`

Inherits Tp::AbstractAdaptor.

## Public Slots
void | AddMembers (const Tp::UIntList &contacts, const QString &message, const QDBusMessage &dbusMessage)
Tp::UIntList | GetAllMembers (const QDBusMessage &dbusMessage, Tp::UIntList &localPending, Tp::UIntList &remotePending)
uint | GetGroupFlags (const QDBusMessage &dbusMessage)
Tp::UIntList | GetHandleOwners (const Tp::UIntList &handles, const QDBusMessage &dbusMessage)
Tp::UIntList | GetLocalPendingMembers (const QDBusMessage &dbusMessage)
Tp::LocalPendingInfoList | GetLocalPendingMembersWithInfo (const QDBusMessage &dbusMessage)
Tp::UIntList | GetMembers (const QDBusMessage &dbusMessage)
Tp::UIntList | GetRemotePendingMembers (const QDBusMessage &dbusMessage)
uint | GetSelfHandle (const QDBusMessage &dbusMessage)
void | RemoveMembers (const Tp::UIntList &contacts, const QString &message, const QDBusMessage &dbusMessage)
void | RemoveMembersWithReason (const Tp::UIntList &contacts, const QString &message, uint reason, const QDBusMessage &dbusMessage)

## Signals
void | HandleOwnersChanged (const Tp::HandleOwnerMap &added, const Tp::UIntList &removed)
void | HandleOwnersChangedDetailed (const Tp::HandleOwnerMap &added, const Tp::UIntList &removed, const Tp::HandleIdentifierMap &identifiers)
void | SelfHandleChanged (uint selfHandle)
void | SelfContactChanged (uint selfHandle, const QString &selfID)
void | GroupFlagsChanged (uint added, uint removed)
void | MembersChanged (const QString &message, const Tp::UIntList &added, const Tp::UIntList &removed, const Tp::UIntList &localPending, const Tp::UIntList &remotePending, uint actor, uint reason)
void | MembersChangedDetailed (const Tp::UIntList &added, const Tp::UIntList &removed, const Tp::UIntList &localPending, const Tp::UIntList &remotePending, const QVariantMap &details)

## Public Member Functions
uint | GroupFlags () const
Tp::HandleOwnerMap | HandleOwners () const
Tp::LocalPendingInfoList | LocalPendingMembers () const
Tp::UIntList | Members () const
Tp::UIntList | RemotePendingMembers () const
uint | SelfHandle () const
Tp::HandleIdentifierMap | MemberIdentifiers () const
Public Member Functions inherited from Tp::AbstractAdaptor
| AbstractAdaptor (const QDBusConnection &connection, QObject *adaptee, QObject *parent)
| ~AbstractAdaptor ()
QDBusConnection | dbusConnection () const
QObject * | adaptee () const

## Detailed Description

Adaptor class providing a 1:1 mapping of the D-Bus interface "org.freedesktop.Telepathy.Channel.Interface.Group".

## Member Function Documentation

uint Tp::Service::ChannelInterfaceGroupAdaptor::GroupFlags | ( |  | ) | const

Return the value of the exported D-Bus object property `GroupFlags` of type `uint`.

Adaptees should export this property as a Qt property named 'groupFlags' with type uint.

An integer representing the bitwise-OR of flags on this channel. The user interface can use this to present information about which operations are currently valid. Change notification is via the GroupFlagsChanged signal.

Returns
  The value of exported property `GroupFlags`.

Tp::HandleOwnerMap Tp::Service::ChannelInterfaceGroupAdaptor::HandleOwners | ( |  | ) | const

Return the value of the exported D-Bus object property `HandleOwners` of type `Tp::HandleOwnerMap`.

Adaptees should export this property as a Qt property named 'handleOwners' with type Tp::HandleOwnerMap.

A map from channel-specific handles to their owners, including at least all of the channel-specific handles in this channel's members, local-pending or remote-pending sets as keys. Any handle not in the keys of this mapping is not channel-specific in this channel. Handles which are channel-specific, but for which the owner is unknown, MUST appear in this mapping with 0 as owner. Change notification is via the HandleOwnersChanged signal.

Returns
  The value of exported property `HandleOwners`.

Tp::LocalPendingInfoList Tp::Service::ChannelInterfaceGroupAdaptor::LocalPendingMembers | ( |  | ) | const

Return the value of the exported D-Bus object property `LocalPendingMembers` of type `Tp::LocalPendingInfoList`.

Adaptees should export this property as a Qt property named 'localPendingMembers' with type Tp::LocalPendingInfoList.

An array of structs containing handles representing contacts requesting channel membership and awaiting local approval with AddMembers.

Returns
  The value of exported property `LocalPendingMembers`.

Tp::UIntList Tp::Service::ChannelInterfaceGroupAdaptor::Members | ( |  | ) | const

Return the value of the exported D-Bus object property `Members` of type `Tp::UIntList`.

Adaptees should export this property as a Qt property named 'members' with type Tp::UIntList.

The members of this channel.

Returns
  The value of exported property `Members`.

Tp::UIntList Tp::Service::ChannelInterfaceGroupAdaptor::RemotePendingMembers | ( |  | ) | const

Return the value of the exported D-Bus object property `RemotePendingMembers` of type `Tp::UIntList`.

Adaptees should export this property as a Qt property named 'remotePendingMembers' with type Tp::UIntList.

An array of handles representing contacts who have been invited to the channel and are awaiting remote approval.

Returns
  The value of exported property `RemotePendingMembers`.

uint Tp::Service::ChannelInterfaceGroupAdaptor::SelfHandle | ( |  | ) | const

Return the value of the exported D-Bus object property `SelfHandle` of type `uint`.

Adaptees should export this property as a Qt property named 'selfHandle' with type uint.

The handle for the user on this channel (which can also be a local or remote pending member), or 0 if the user is not a member at all (which is likely to be the case, for instance, on ContactList channels). Note that this is different from the result of Connection.GetSelfHandle on some protocols, so the value of this handle should always be used with the methods of this interface.

Returns
  The value of exported property `SelfHandle`.

Tp::HandleIdentifierMap Tp::Service::ChannelInterfaceGroupAdaptor::MemberIdentifiers | ( |  | ) | const

Return the value of the exported D-Bus object property `MemberIdentifiers` of type `Tp::HandleIdentifierMap`.

Adaptees should export this property as a Qt property named 'memberIdentifiers' with type Tp::HandleIdentifierMap.

The string identifiers for handles mentioned in this channel, to give clients the minimal information necessary to create contacts without waiting for round-trips. Connection managers MUST include at least the identifiers for SelfHandle, Members, LocalPendingMembers (and their actors if any), RemotePendingMembers and HandleOwners.

Returns
  The value of exported property `MemberIdentifiers`.

void Tp::Service::ChannelInterfaceGroupAdaptor::AddMembers | ( | const Tp::UIntList & | contacts,
|  | const QString & | message,
|  | const QDBusMessage & | dbusMessage
| ) |  |
| slot

Begins a call to the exported D-Bus method `AddMembers` on this object.

Adaptees should export this method as a Qt slot with the following signature: void addMembers(const Tp::UIntList& contacts, const QString& message, const Tp::Service::ChannelInterfaceGroupAdaptor::AddMembersContextPtr &context);

Implementations should call MethodInvocationContext::setFinished (or setFinishedWithError accordingly) on the received context object once the method has finished processing.

Invite all the given contacts into the channel, or accept requests for channel membership for contacts on the pending local list.

A message may be provided along with the request, which will be sent to the server if supported. See the CHANNEL_GROUP_FLAG_MESSAGE_ADD and CHANNEL_GROUP_FLAG_MESSAGE_ACCEPT GroupFlags to see in which cases this message should be provided.

Attempting to add contacts who are already members is allowed; connection managers must silently accept this, without error.

Parameters

  contacts |
      An array of contact handles to invite to the channel
  message |
      A string message, which can be blank if desired

Tp::UIntList Tp::Service::ChannelInterfaceGroupAdaptor::GetAllMembers | ( | const QDBusMessage & | dbusMessage,
|  | Tp::UIntList & | localPending,
|  | Tp::UIntList & | remotePending
| ) |  |
| slot

Begins a call to the exported D-Bus method `GetAllMembers` on this object.

Adaptees should export this method as a Qt slot with the following signature: void getAllMembers(const Tp::Service::ChannelInterfaceGroupAdaptor::GetAllMembersContextPtr &context);

Implementations should call MethodInvocationContext::setFinished (or setFinishedWithError accordingly) on the received context object once the method has finished processing.

Returns arrays of all current, local and remote pending channel members.

Parameters

  localPending | Output parameter
      array of handles of local pending members
  remotePending | Output parameter
      array of handles of remote pending members

Returns

      array of handles of current members

uint Tp::Service::ChannelInterfaceGroupAdaptor::GetGroupFlags | ( | const QDBusMessage & | dbusMessage | ) |
| slot

Begins a call to the exported D-Bus method `GetGroupFlags` on this object.

Adaptees should export this method as a Qt slot with the following signature: void getGroupFlags(const Tp::Service::ChannelInterfaceGroupAdaptor::GetGroupFlagsContextPtr &context);

Implementations should call MethodInvocationContext::setFinished (or setFinishedWithError accordingly) on the received context object once the method has finished processing.

Returns the value of the GroupFlags property.

Returns

      The value of the GroupFlags property

Tp::UIntList Tp::Service::ChannelInterfaceGroupAdaptor::GetHandleOwners | ( | const Tp::UIntList & | handles,
|  | const QDBusMessage & | dbusMessage
| ) |  |
| slot

Begins a call to the exported D-Bus method `GetHandleOwners` on this object.

Adaptees should export this method as a Qt slot with the following signature: void getHandleOwners(const Tp::UIntList& handles, const Tp::Service::ChannelInterfaceGroupAdaptor::GetHandleOwnersContextPtr &context);

Implementations should call MethodInvocationContext::setFinished (or setFinishedWithError accordingly) on the received context object once the method has finished processing.

If the CHANNEL_GROUP_FLAG_CHANNEL_SPECIFIC_HANDLES flag is set on the channel, then the handles of the group members are specific to this channel, and are not meaningful in a connection-wide context such as contact lists. This method allows you to find the owner of the handle if it can be discovered in this channel, or 0 if the owner is not available.

Parameters

  handles |
      A list of integer handles representing members of the channel

Returns

      An array of integer handles representing the owner handles of the
      given room members, in the same order, or 0 if the owner is not
      available

Tp::UIntList Tp::Service::ChannelInterfaceGroupAdaptor::GetLocalPendingMembers | ( | const QDBusMessage & | dbusMessage | ) |
| slot

Begins a call to the exported D-Bus method `GetLocalPendingMembers` on this object.

Adaptees should export this method as a Qt slot with the following signature: void getLocalPendingMembers(const Tp::Service::ChannelInterfaceGroupAdaptor::GetLocalPendingMembersContextPtr &context);

Implementations should call MethodInvocationContext::setFinished (or setFinishedWithError accordingly) on the received context object once the method has finished processing.

Returns the To_Be_Added handle (only) for each structure in the LocalPendingMembers property.

Returns

Tp::LocalPendingInfoList Tp::Service::ChannelInterfaceGroupAdaptor::GetLocalPendingMembersWithInfo | ( | const QDBusMessage & | dbusMessage | ) |
| slot

Begins a call to the exported D-Bus method `GetLocalPendingMembersWithInfo` on this object.

Adaptees should export this method as a Qt slot with the following signature: void getLocalPendingMembersWithInfo(const Tp::Service::ChannelInterfaceGroupAdaptor::GetLocalPendingMembersWithInfoContextPtr &context);

Implementations should call MethodInvocationContext::setFinished (or setFinishedWithError accordingly) on the received context object once the method has finished processing.

Returns the LocalPendingMembers property.

Returns

      An array of structs containing: A handle representing the contact
      requesting channel membership A handle representing the contact
      making the request, or 0 if unknown The reason for the request: one
      of the values of Channel_Group_Change_Reason A string message
      containing the reason for the request if any (or blank if none)

Tp::UIntList Tp::Service::ChannelInterfaceGroupAdaptor::GetMembers | ( | const QDBusMessage & | dbusMessage | ) |
| slot

Begins a call to the exported D-Bus method `GetMembers` on this object.

Adaptees should export this method as a Qt slot with the following signature: void getMembers(const Tp::Service::ChannelInterfaceGroupAdaptor::GetMembersContextPtr &context);

Implementations should call MethodInvocationContext::setFinished (or setFinishedWithError accordingly) on the received context object once the method has finished processing.

Returns the Members property.

Returns

Tp::UIntList Tp::Service::ChannelInterfaceGroupAdaptor::GetRemotePendingMembers | ( | const QDBusMessage & | dbusMessage | ) |
| slot

Begins a call to the exported D-Bus method `GetRemotePendingMembers` on this object.

Adaptees should export this method as a Qt slot with the following signature: void getRemotePendingMembers(const Tp::Service::ChannelInterfaceGroupAdaptor::GetRemotePendingMembersContextPtr &context);

Implementations should call MethodInvocationContext::setFinished (or setFinishedWithError accordingly) on the received context object once the method has finished processing.

Returns an array of handles representing contacts who have been invited to the channel and are awaiting remote approval.

Returns

uint Tp::Service::ChannelInterfaceGroupAdaptor::GetSelfHandle | ( | const QDBusMessage & | dbusMessage | ) |
| slot

Begins a call to the exported D-Bus method `GetSelfHandle` on this object.

Adaptees should export this method as a Qt slot with the following signature: void getSelfHandle(const Tp::Service::ChannelInterfaceGroupAdaptor::GetSelfHandleContextPtr &context);

Implementations should call MethodInvocationContext::setFinished (or setFinishedWithError accordingly) on the received context object once the method has finished processing.

Returns the value of the SelfHandle property.

Returns

void Tp::Service::ChannelInterfaceGroupAdaptor::RemoveMembers | ( | const Tp::UIntList & | contacts,
|  | const QString & | message,
|  | const QDBusMessage & | dbusMessage
| ) |  |
| slot

Begins a call to the exported D-Bus method `RemoveMembers` on this object.

Adaptees should export this method as a Qt slot with the following signature: void removeMembers(const Tp::UIntList& contacts, const QString& message, const Tp::Service::ChannelInterfaceGroupAdaptor::RemoveMembersContextPtr &context);

Implementations should call MethodInvocationContext::setFinished (or setFinishedWithError accordingly) on the received context object once the method has finished processing.

Requests the removal of contacts from a channel, reject their request for channel membership on the pending local list, or rescind their invitation on the pending remote list.

If the SelfHandle is in a Group, it can be removed via this method, in order to leave the group gracefully. This is the recommended way to leave a chatroom, close or reject a ChannelTypeStreamedMediaInterface call, and so on.

Accordingly, connection managers SHOULD support doing this, regardless of the value of GroupFlags . If doing so fails with PermissionDenied, this is considered to a bug in the connection manager, but clients MUST recover by falling back to closing the channel with the ChannelInterface::Close() method.

Removing any contact from the local pending list is always allowed. Removing contacts other than the SelfHandle from the channel's members is allowed if and only if Channel_Group_Flag_Can_Remove is in the GroupFlags , while removing contacts other than the SelfHandle from the remote pending list is allowed if and only if Channel_Group_Flag_Can_Rescind is in the GroupFlags .

A message may be provided along with the request, which will be sent to the server if supported. See the Channel_Group_Flag_Message_Remove, Channel_Group_Flag_Message_Depart, Channel_Group_Flag_Message_Reject and Channel_Group_Flag_Message_Rescind GroupFlags to see in which cases this message should be provided.

Parameters

  contacts |
      An array of contact handles to remove from the channel
  message |
      A string message, which can be blank if desired

void Tp::Service::ChannelInterfaceGroupAdaptor::RemoveMembersWithReason | ( | const Tp::UIntList & | contacts,
|  | const QString & | message,
|  | uint | reason,
|  | const QDBusMessage & | dbusMessage
| ) |  |
| slot

Begins a call to the exported D-Bus method `RemoveMembersWithReason` on this object.

Adaptees should export this method as a Qt slot with the following signature: void removeMembersWithReason(const Tp::UIntList& contacts, const QString& message, uint reason, const Tp::Service::ChannelInterfaceGroupAdaptor::RemoveMembersWithReasonContextPtr &context);

Implementations should call MethodInvocationContext::setFinished (or setFinishedWithError accordingly) on the received context object once the method has finished processing.

As RemoveMembers, but a reason code may be provided where appropriate. The reason code may be ignored if the underlying protocol is unable to represent the given reason.

Parameters

  contacts |
      An array of contact handles to remove from the channel
  message |
      A string message, which can be blank if desired
  reason |
      A reason for the change

void Tp::Service::ChannelInterfaceGroupAdaptor::HandleOwnersChanged | ( | const Tp::HandleOwnerMap & | added,
|  | const Tp::UIntList & | removed
| ) |  |
| signal

Represents the exported D-Bus signal `HandleOwnersChanged` on this object.

Adaptees should export this signal as a Qt signal with the following signature: void handleOwnersChanged(const Tp::HandleOwnerMap& added, const Tp::UIntList& removed);

The adaptee signal will be automatically relayed as a D-Bus signal once emitted.

Parameters

  added |
      A map from channel-specific handles to their owners, in which the
      keys include all the handles that were added to the keys of the
      HandleOwners property, and all the handles in that property whose
      owner has changed
  removed |
      The channel-specific handles that were removed from the keys of the
      HandleOwners property, as a result of the contact leaving this
      group in a previous MembersChanged signal

void Tp::Service::ChannelInterfaceGroupAdaptor::HandleOwnersChangedDetailed | ( | const Tp::HandleOwnerMap & | added,
|  | const Tp::UIntList & | removed,
|  | const Tp::HandleIdentifierMap & | identifiers
| ) |  |
| signal

Represents the exported D-Bus signal `HandleOwnersChangedDetailed` on this object.

Adaptees should export this signal as a Qt signal with the following signature: void handleOwnersChangedDetailed(const Tp::HandleOwnerMap& added, const Tp::UIntList& removed, const Tp::HandleIdentifierMap& identifiers);

The adaptee signal will be automatically relayed as a D-Bus signal once emitted.

Parameters

  added |
      A map from channel-specific handles to their owners, in which the
      keys include all the handles that were added to the keys of the
      HandleOwners property, and all the handles in that property whose
      owner has changed
  removed |
      The channel-specific handles that were removed from the keys of the
      HandleOwners property, as a result of the contact leaving this
      group in a previous MembersChanged signal
  identifiers |
      The string identifiers for handles mentioned in this signal, to
      give clients the minimal information necessary to create contacts
      without waiting for round-trips. Connection managers MUST include
      at least the identifiers for all handles in the Added map, and MAY
      include those from Removed array.

void Tp::Service::ChannelInterfaceGroupAdaptor::SelfHandleChanged | ( | uint | selfHandle | ) |
| signal

Represents the exported D-Bus signal `SelfHandleChanged` on this object.

Adaptees should export this signal as a Qt signal with the following signature: void selfHandleChanged(uint selfHandle);

The adaptee signal will be automatically relayed as a D-Bus signal once emitted.

Parameters

  selfHandle |
      The new value of the SelfHandle property.

void Tp::Service::ChannelInterfaceGroupAdaptor::SelfContactChanged | ( | uint | selfHandle,
|  | const QString & | selfID
| ) |  |
| signal

Represents the exported D-Bus signal `SelfContactChanged` on this object.

Adaptees should export this signal as a Qt signal with the following signature: void selfContactChanged(uint selfHandle, const QString& selfID);

The adaptee signal will be automatically relayed as a D-Bus signal once emitted.

Parameters

  selfHandle |
      The new value of the SelfHandle property.
  selfID |
      The new value of the SelfHandle property&apos;s identifier.

void Tp::Service::ChannelInterfaceGroupAdaptor::GroupFlagsChanged | ( | uint | added,
|  | uint | removed
| ) |  |
| signal

Represents the exported D-Bus signal `GroupFlagsChanged` on this object.

Adaptees should export this signal as a Qt signal with the following signature: void groupFlagsChanged(uint added, uint removed);

The adaptee signal will be automatically relayed as a D-Bus signal once emitted.

Parameters

  added |
      A bitwise OR of the flags which have been set
  removed |
      A bitwise OR of the flags which have been cleared

void Tp::Service::ChannelInterfaceGroupAdaptor::MembersChanged | ( | const QString & | message,
|  | const Tp::UIntList & | added,
|  | const Tp::UIntList & | removed,
|  | const Tp::UIntList & | localPending,
|  | const Tp::UIntList & | remotePending,
|  | uint | actor,
|  | uint | reason
| ) |  |
| signal

Represents the exported D-Bus signal `MembersChanged` on this object.

Adaptees should export this signal as a Qt signal with the following signature: void membersChanged(const QString& message, const Tp::UIntList& added, const Tp::UIntList& removed, const Tp::UIntList& localPending, const Tp::UIntList& remotePending, uint actor, uint reason);

The adaptee signal will be automatically relayed as a D-Bus signal once emitted.

Parameters

  message |
      A string message from the server, or blank if not
  added |
      A list of members added to the channel
  removed |
      A list of members removed from the channel
  localPending |
      A list of members who are pending local approval
  remotePending |
      A list of members who are pending remote approval
  actor |
      The contact handle of the person who made the change, or 0 if not
      known
  reason |
      A reason for the change

void Tp::Service::ChannelInterfaceGroupAdaptor::MembersChangedDetailed | ( | const Tp::UIntList & | added,
|  | const Tp::UIntList & | removed,
|  | const Tp::UIntList & | localPending,
|  | const Tp::UIntList & | remotePending,
|  | const QVariantMap & | details
| ) |  |
| signal

Represents the exported D-Bus signal `MembersChangedDetailed` on this object.

Adaptees should export this signal as a Qt signal with the following signature: void membersChangedDetailed(const Tp::UIntList& added, const Tp::UIntList& removed, const Tp::UIntList& localPending, const Tp::UIntList& remotePending, const QVariantMap& details);

The adaptee signal will be automatically relayed as a D-Bus signal once emitted.

Parameters

  added |
      A list of members added to the channel
  removed |
      A list of members removed from the channel
  localPending |
      A list of members who are pending local approval
  remotePending |
      A list of members who are pending remote approval
  details | Information about the change, which may include the following well-known keys: actor (u — Contact_Handle) The contact handle of the person who made the change; 0 or omitted if unknown or not applicable. change-reason (u — Channel_Group_Change_Reason) A reason for the change. contact-ids (a{us} — Handle_Identifier_Map) The string identifiers for handles mentioned in this signal, to give clients the minimal information necessary to react to the event without waiting for round-trips. Connection managers SHOULD include the identifiers for members added to the group and for the actor (if any); they MAY omit the identifiers for handles which have been removed from the group. On IRC, an event such as a netsplit could cause the vast majority of a channel to leave. Given that clients should already know the identifiers of a channel's members, including potentially hundreds of strings in the netsplit signal is unnecessary. Clients MUST NOT assume that the presence or absence of a handle in this mapping is meaningful. This mapping is merely an optimization for round-trip reduction, and connection managers MAY add additional handles, omit some handles, or omit the mapping completely. message (s) A string message from the server regarding the change error (s — DBus_Error_Name) A (possibly implementation-specific) DBus error describing the change, providing more specific information than the Channel_Group_Change_Reason enum allows. This MUST only be present if it is strictly more informative than 'change-reason'; if present, 'change-reason' MUST be set to the closest available reason. A SIP connection manager might want to signal "402 Payment required" as something more specific than Error or Permission_Denied so that a SIP-aware UI could handle it specially; including a namespaced error permits this to be done without Channel_Group_Change_Reason being extended to encompass every error any CM ever wants to report. debug-message (s) Debugging information on the change. SHOULD NOT be shown to users in normal circumstances.