Tp::Service::ChannelInterfaceChatStateAdaptor Class Reference

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

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

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

Inherits Tp::AbstractAdaptor.

## Public Slots
void | SetChatState (uint state, const QDBusMessage &dbusMessage)

## Signals
void | ChatStateChanged (uint contact, uint state)

## Public Member Functions
Tp::ChatStateMap | ChatStates () 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.ChatState".

## Member Function Documentation

Tp::ChatStateMap Tp::Service::ChannelInterfaceChatStateAdaptor::ChatStates | ( |  | ) | const

Return the value of the exported D-Bus object property `ChatStates` of type `Tp::ChatStateMap`.

Adaptees should export this property as a Qt property named 'chatStates' with type Tp::ChatStateMap.

A map containing the chat states of all contacts in this channel whose chat state is not Inactive.

Contacts in this channel, but who are not listed in this map, may be assumed to be in the Inactive state.

In implementations that do not have this property, its value may be assumed to be empty until a ChatStateChanged() signal indicates otherwise.

This property was not present in older versions of telepathy-spec, because chat states in XMPP are not state-recoverable (if you miss the change notification signal, there's no way to know the state). However, this property still allows clients to recover state changes that were seen by the CM before the client started to deal with the channel.

In CMs that follow older spec versions, assuming Inactive will mean that initial chat states will always be assumed to be Inactive, which is the best we can do. XEP 0085 specifies Inactive as the "neutral" state to be assumed unless told otherwise.

Returns
  The value of exported property `ChatStates`.

void Tp::Service::ChannelInterfaceChatStateAdaptor::SetChatState | ( | uint | state,
|  | const QDBusMessage & | dbusMessage
| ) |  |
| slot

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

Adaptees should export this method as a Qt slot with the following signature: void setChatState(uint state, const Tp::Service::ChannelInterfaceChatStateAdaptor::SetChatStateContextPtr &context);

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

Set the local state and notify other members of the channel that it has changed.

Parameters

  state |
      The new state.

void Tp::Service::ChannelInterfaceChatStateAdaptor::ChatStateChanged | ( | uint | contact,
|  | uint | state
| ) |  |
| signal

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

Adaptees should export this signal as a Qt signal with the following signature: void chatStateChanged(uint contact, uint state);

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

Parameters

  contact |
      An integer handle for the contact.
  state |
      The new state of this contact.