Tp::Service::ConnectionInterfaceContactBlockingAdaptor Class Reference

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

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

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

Inherits Tp::AbstractAdaptor.

## Public Slots
void | BlockContacts (const Tp::UIntList &contacts, bool reportAbusive, const QDBusMessage &dbusMessage)
void | UnblockContacts (const Tp::UIntList &contacts, const QDBusMessage &dbusMessage)
Tp::HandleIdentifierMap | RequestBlockedContacts (const QDBusMessage &dbusMessage)

## Signals
void | BlockedContactsChanged (const Tp::HandleIdentifierMap &blockedContacts, const Tp::HandleIdentifierMap &unblockedContacts)

## Public Member Functions
uint | ContactBlockingCapabilities () 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.Connection.Interface.ContactBlocking".

## Member Function Documentation

uint Tp::Service::ConnectionInterfaceContactBlockingAdaptor::ContactBlockingCapabilities | ( |  | ) | const

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

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

Additional capabilities for contact blocking; currently, this is limited to whether contacts may be reported as abusive.

Note that there is no capability for supporting blocking itself: the presence of this interface on a ConnectionInterface indicates that blocking contacts is supported.

Returns
  The value of exported property `ContactBlockingCapabilities`.

void Tp::Service::ConnectionInterfaceContactBlockingAdaptor::BlockContacts | ( | const Tp::UIntList & | contacts,
|  | bool | reportAbusive,
|  | const QDBusMessage & | dbusMessage
| ) |  |
| slot

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

Adaptees should export this method as a Qt slot with the following signature: void blockContacts(const Tp::UIntList& contacts, bool reportAbusive, const Tp::Service::ConnectionInterfaceContactBlockingAdaptor::BlockContactsContextPtr &context);

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

Direct the server to block some contacts. The precise effect is protocol-dependent, but SHOULD include ignoring all current and subsequent communications from the given contacts, avoiding sending presence to them in future, and if they were already receiving the local user's presence, behaving as if the local user went offline.

Parameters

  contacts |
      Some contacts to block. If some of the contacts in this list are
      already blocked, the connection manager MUST act as if they were
      not specified in this list.
  reportAbusive | In addition to blocking, report these contacts as abusive to the server administrators. Clients can determine whether this capability is available by checking the \\\ \\link requestPropertyContactBlockingCapabilities() ContactBlockingCapabilities \\endlink \\htmlonly property. If this argument is set to `True` by a client despite \\endhtmlonly \\link requestPropertyContactBlockingCapabilities() ContactBlockingCapabilities \\endlink \\htmlonly not containing the `Can_Report_Abusive` flag, the connection manager SHOULD act as if it were `False` and simply block the supplied contacts.

A correct user interface shouldn't get this far without knowing that reporting abusive contacts is not supported. If it does, then the user has expressed their intention to block these contacts. Returning an error would leave the UI with three options:

- Ignore the error, leaving the contacts not actually blocked;
- Display an error to the user;
- Call this method again, passing `False` for this argument.

None of these seem preferable to the CM just ignoring this flag if it doesn't support it: that way, the contacts will be blocked, as the user requested, and UIs have fewer ways to mess up entirely.

void Tp::Service::ConnectionInterfaceContactBlockingAdaptor::UnblockContacts | ( | const Tp::UIntList & | contacts,
|  | const QDBusMessage & | dbusMessage
| ) |  |
| slot

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

Adaptees should export this method as a Qt slot with the following signature: void unblockContacts(const Tp::UIntList& contacts, const Tp::Service::ConnectionInterfaceContactBlockingAdaptor::UnblockContactsContextPtr &context);

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

Direct the server to unblock some contacts.

Parameters

  contacts |
      Some contacts to unblock. If some of the contacts in this list are
      not currently blocked, the connection manager MUST act as if they
      were not specified in this list.

Tp::HandleIdentifierMap Tp::Service::ConnectionInterfaceContactBlockingAdaptor::RequestBlockedContacts | ( | const QDBusMessage & | dbusMessage | ) |
| slot

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

Adaptees should export this method as a Qt slot with the following signature: void requestBlockedContacts(const Tp::Service::ConnectionInterfaceContactBlockingAdaptor::RequestBlockedContactsContextPtr &context);

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

List the contacts that are blocked.

Clients SHOULD allow a relatively long timeout for calls to this method, since on some protocols contact blocking is part of the contact list, which can take a significant time to retrieve.

Returns

      The blocked contacts’ handles, together with their identifiers.

void Tp::Service::ConnectionInterfaceContactBlockingAdaptor::BlockedContactsChanged | ( | const Tp::HandleIdentifierMap & | blockedContacts,
|  | const Tp::HandleIdentifierMap & | unblockedContacts
| ) |  |
| signal

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

Adaptees should export this signal as a Qt signal with the following signature: void blockedContactsChanged(const Tp::HandleIdentifierMap& blockedContacts, const Tp::HandleIdentifierMap& unblockedContacts);

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

Parameters

  blockedContacts |
      Contacts added to the result of RequestBlockedContacts.
  unblockedContacts |
      Contacts removed from the result of RequestBlockedContacts.