| Home · All Classes · All Namespaces · Modules · Functions · Files |
#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 | |
Proxy class providing a 1:1 mapping of the D-Bus interface "org.freedesktop.Telepathy.ChannelDispatcher.Interface.Messages1".
| 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.
| 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.
| 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.
| proxy | The proxy to use. It will also be the QObject::parent() for this object. |
|
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.
| 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.
| mainInterface | The proxy to use. |
| parent | Passed to the parent class constructor. |
|
inlinestatic |
Returns the name of the interface "org.freedesktop.Telepathy.ChannelDispatcher.Interface.Messages1", which this class represents.
|
inline |
Request all of the DBus properties on the interface.
|
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.
| 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. |
An opaque token equivalent to the one returned by Messages.SendMessage.
|
protectedvirtual |
Reimplemented from Tp::AbstractInterface.
| Copyright © 2008-2011 Collabora Ltd. and Nokia Corporation | Telepathy-Qt 0.9.6.1 |