From 4868017daf708049102ee33618a615f96f4adbc6 Mon Sep 17 00:00:00 2001
From: Guillaume Desmottes This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ USA.
+ This interface allows DBus clients to use the ChannelDispatcher to
+ send one-off text messages to a contact, identified by account and
+ target ID, without requiring the caller to handle channels or be
+ the primary message UI.
+
+ This enables entities other than the main UI to send messages
+ to contacts.
+ Submit a message to the server for sending, like the
+ 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 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 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: 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
+ The collection of files to which this channel belongs,
+ or the empty string if this channel does not belong to
+ a collection of files. A channel's FileCollection property can never change. At least on GTalk and apparently also on iChat the user can
+ send a set of files to a contact and that contact can then
+ pick and choose which files to actually receive. The CM should emit all new FT channels belonging to one collection
+ at the same time. UIs supporting this feature can then
+ bundle all these channels together in some way, and show a
+ nice UI. UIs not supporting it will treat them as separate
+ transfers, which is not great but a reasonable fallback. No mechanism is currently defined to indicate whether the UI
+ should expect any more files in the same collection. UIs
+ SHOULD assume that more file transfers may be added to a
+ collection. It is possible that a "no more channels in this
+ collection" indication will be added in a future version of
+ this specification. This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Send an arbitrary IRC command to the server. For example, an IRC client receiving The command is supplied in UTF-8 (because strings on D-Bus are
+ always UTF-8). It is transcoded into the connection's configured
+ character set, if different, before sending to the server. {
+ …
+
+ /bip blreset
from
+ the user might call this method with BIP blreset
as
+ argument which will send BIP blreset
to the server.
This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version.
+ +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details.
+ +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +USA.
+Request an object with a particular interface providing additional + connection-specific functionality, together with its immutable + properties. These will often be implemented by plug-ins to the + connection managers; for example, support for an XMPP XEP for which + no generic Telepathy interface exists might be implemented by a + Gabble plugin exposing a sidecar with a particular interface.
+ +This method may be called at any point during the lifetime of a
+ connection, even before its
There is an implicit assumption that any connection
+ manager plugin will only want to export one “primary” object per
+ feature it implements, since there is a one-to-one mapping between
+ interface and object. This is reasonable since Sidecars are
+ (intended to be) analogous to extra interfaces on the connection,
+ providing once-per-connection shared functionality; it also makes
+ client code straightforward (look up the interface you care about
+ in a dictionary, build a proxy object from the value). More
+ “plural” plugins are likely to want to implement new types of
+