Home · Modules · All Classes · All Namespaces
Public Slots | Signals | Public Member Functions | List of all members
Tp::Service::ConnectionInterfaceContactBlockingAdaptor Class Reference

#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

◆ ContactBlockingCapabilities()

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.

◆ BlockContacts

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.

◆ UnblockContacts

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.

◆ RequestBlockedContacts

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.

◆ BlockedContactsChanged

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.