Tp::Client::ChannelDispatcherInterfaceMessages1Interface Class Reference

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

Public Slots | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
Tp::Client::ChannelDispatcherInterfaceMessages1Interface Class Reference
ChannelDispatcher proxies

`#include <TelepathyQt/ChannelDispatcher>`

Inherits Tp::AbstractInterface.

## Public Slots
QDBusPendingReply< QString > | SendMessage (const QDBusObjectPath &account, const QString &targetID, const Tp::MessagePartList &message, uint flags, int timeout=-1)

## Public Member Functions
| ChannelDispatcherInterfaceMessages1Interface (const QString &busName, const QString &objectPath, QObject *parent=0)
| ChannelDispatcherInterfaceMessages1Interface (const QDBusConnection &connection, const QString &busName, const QString &objectPath, QObject *parent=0)
| ChannelDispatcherInterfaceMessages1Interface (Tp::DBusProxy *proxy)
| ChannelDispatcherInterfaceMessages1Interface (const Tp::Client::ChannelDispatcherInterface &mainInterface)
| ChannelDispatcherInterfaceMessages1Interface (const Tp::Client::ChannelDispatcherInterface &mainInterface, QObject *parent)
Tp::PendingVariantMap * | requestAllProperties () const
Public Member Functions inherited from Tp::AbstractInterface
virtual | ~AbstractInterface ()
bool | isValid () const
QString | invalidationReason () const
QString | invalidationMessage () const
void | setMonitorProperties (bool monitorProperties)
bool | isMonitoringProperties () const

## Static Public Member Functions
static QLatin1String | staticInterfaceName ()

## Protected Member Functions
virtual void | invalidate (Tp::DBusProxy *, const QString &, const QString &)
Protected Member Functions inherited from Tp::AbstractInterface
| AbstractInterface (DBusProxy *proxy, const QLatin1String &interface)
| AbstractInterface (const QString &busName, const QString &path, const QLatin1String &interface, const QDBusConnection &connection, QObject *parent)
PendingVariant * | internalRequestProperty (const QString &name) const
PendingOperation * | internalSetProperty (const QString &name, const QVariant &newValue)
PendingVariantMap * | internalRequestAllProperties () const

## Additional Inherited Members
Signals inherited from Tp::AbstractInterface
void | propertiesChanged (const QVariantMap &changedProperties, const QStringList &invalidatedProperties)
Protected Slots inherited from Tp::AbstractInterface

## Detailed Description

Proxy class providing a 1:1 mapping of the D-Bus interface "org.freedesktop.Telepathy.ChannelDispatcher.Interface.Messages1".

## Constructor & Destructor Documentation

Tp::Client::ChannelDispatcherInterfaceMessages1Interface::ChannelDispatcherInterfaceMessages1Interface | ( | const QString & | busName,
|  | const QString & | objectPath,
|  | QObject * | parent = `0`
| ) |  |

Creates a ChannelDispatcherInterfaceMessages1Interface associated with the given object on the session bus.

Parameters

  busName | Name of the service the object is on.
  objectPath | Path to the object on the service.
  parent | Passed to the parent class constructor.

Tp::Client::ChannelDispatcherInterfaceMessages1Interface::ChannelDispatcherInterfaceMessages1Interface | ( | const QDBusConnection & | connection,
|  | const QString & | busName,
|  | const QString & | objectPath,
|  | QObject * | parent = `0`
| ) |  |

Creates a ChannelDispatcherInterfaceMessages1Interface associated with the given object on the given bus.

Parameters

  connection | The bus via which the object can be reached.
  busName | Name of the service the object is on.
  objectPath | Path to the object on the service.
  parent | Passed to the parent class constructor.

Tp::Client::ChannelDispatcherInterfaceMessages1Interface::ChannelDispatcherInterfaceMessages1Interface | ( | Tp::DBusProxy * | proxy | ) |

Creates a ChannelDispatcherInterfaceMessages1Interface associated with the same object as the given proxy.

Parameters

  proxy | The proxy to use. It will also be the QObject::parent() for this object.

Tp::Client::ChannelDispatcherInterfaceMessages1Interface::ChannelDispatcherInterfaceMessages1Interface | ( | const Tp::Client::ChannelDispatcherInterface & | mainInterface | ) |
| explicit

Creates a ChannelDispatcherInterfaceMessages1Interface associated with the same object as the given proxy. Additionally, the created proxy will have the same parent as the given proxy.

Parameters

  mainInterface | The proxy to use.

Tp::Client::ChannelDispatcherInterfaceMessages1Interface::ChannelDispatcherInterfaceMessages1Interface | ( | const Tp::Client::ChannelDispatcherInterface & | mainInterface,
|  | QObject * | parent
| ) |  |

Creates a ChannelDispatcherInterfaceMessages1Interface associated with the same object as the given proxy. However, a different parent object can be specified.

Parameters

  mainInterface | The proxy to use.
  parent | Passed to the parent class constructor.

## Member Function Documentation

static QLatin1String Tp::Client::ChannelDispatcherInterfaceMessages1Interface::staticInterfaceName | ( |  | ) |
| inlinestatic

Returns the name of the interface "org.freedesktop.Telepathy.ChannelDispatcher.Interface.Messages1", which this class represents.

Returns
  The D-Bus interface name.

Tp::PendingVariantMap* Tp::Client::ChannelDispatcherInterfaceMessages1Interface::requestAllProperties | ( |  | ) | const
| inline

Request all of the DBus properties on the interface.

Returns
  A pending variant map which will emit finished when the properties have been retrieved.

QDBusPendingReply<QString> Tp::Client::ChannelDispatcherInterfaceMessages1Interface::SendMessage | ( | const QDBusObjectPath & | account,
|  | const QString & | targetID,
|  | const Tp::MessagePartList & | message,
|  | uint | flags,
|  | int | timeout = `-1`
| ) |  |
| inlineslot

Begins a call to the D-Bus method `SendMessage` on the remote object.

Submit a message to the server for sending, like the ChannelInterfaceMessagesInterface::SendMessage() method.

If the Account is connected and a Text channel to the Target_ID already exists, this method is equivalent to sending the same message via that channel.

Otherwise, this method creates a channel (connecting the Account if appropriate), sends the desired message, and closes the channel as if via ChannelInterface::Close() , without acknowledging any messages received on that channel during that time.

If any messages are received on that channel before it is closed, a correct connection manager implementation will reopen the channel when it is closed, resulting in those "rescued" messages being processed by the system's normal ClientHandlerInterface for text channels. In particular, this deals with the situation where a successful or failed delivery report is received before the channel is closed.

Expecting a trivial client (perhaps a send-only IRC bot, or a simple SMS-sending API) to go through all those steps to send a message seems somewhat unreasonable. Having this as a method in the ChannelDispatcher lets it take some short-cuts if required, and centralizes the implementation to reduce the risk of mistakes that cause message loss.

The ChannelDispatcher SHOULD support this method for any connection manager that would accept channel requests of this form:

      {
      …  ChannelInterface::ChannelType   :
          …  ChannelTypeTextInterface ,
      …  ChannelInterface::TargetHandleType   :
          Contact,
      …  ChannelInterface::TargetID   :
      Target_ID
    }

However, if the connection manager provides additional APIs (such as a way to open "send-only" channels), the ChannelDispatcher MAY use those: it is not required to use those exact request parameters.

This method may raise any error that would be raised by the ConnectionInterfaceRequestsInterface::EnsureChannel() or ChannelInterfaceMessagesInterface::SendMessage() methods, or signalled by the ChannelRequestInterface::Failed() signal.

Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.

Parameters

  account |
      The Account through which to communicate.
  targetID |
      The contact to send the message to.
  message |
      The parts of the message, the same as for Messages.SendMessage.
  flags |
      Flags influencing how to send the message, the same as for
      Messages.SendMessage.
  timeout | The timeout in milliseconds.

Returns

      An opaque token equivalent to the one returned by
      Messages.SendMessage.

void Tp::Client::ChannelDispatcherInterfaceMessages1Interface::invalidate | ( | Tp::DBusProxy * | proxy,
|  | const QString & | error,
|  | const QString & | message
| ) |  |
| protectedvirtual

Reimplemented from Tp::AbstractInterface.