summaryrefslogtreecommitdiff
path: root/spec/Channel_Dispatcher_Future.xml
diff options
context:
space:
mode:
Diffstat (limited to 'spec/Channel_Dispatcher_Future.xml')
-rw-r--r--spec/Channel_Dispatcher_Future.xml377
1 files changed, 0 insertions, 377 deletions
diff --git a/spec/Channel_Dispatcher_Future.xml b/spec/Channel_Dispatcher_Future.xml
deleted file mode 100644
index 701b42470..000000000
--- a/spec/Channel_Dispatcher_Future.xml
+++ /dev/null
@@ -1,377 +0,0 @@
-<?xml version="1.0" ?>
-<node name="/Channel_Dispatcher_Future"
- xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
-
- <tp:copyright>Copyright © 2008-2010 Collabora Ltd.</tp:copyright>
- <tp:copyright>Copyright © 2008-2009 Nokia Corporation</tp:copyright>
- <tp:license xmlns="http://www.w3.org/1999/xhtml">
- <p>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.</p>
-
- <p>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.</p>
-
- <p>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.</p>
- </tp:license>
-
- <interface name="org.freedesktop.Telepathy.ChannelDispatcher.FUTURE"
- tp:causes-havoc="a staging area for future functionality">
-
- <tp:requires interface="org.freedesktop.Telepathy.ChannelDispatcher"/>
-
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>This interface contains functionality which we intend to incorporate
- into the <tp:dbus-ref
- namespace="org.freedesktop.Telepathy">ChannelDispatcher</tp:dbus-ref>
- interface in future. It should be considered to
- be conceptually part of the core ChannelDispatcher interface, but without
- API or ABI guarantees.</p>
- </tp:docstring>
-
- <method name="CreateChannelWithHints"
- tp:name-for-bindings="Create_Channel_With_Hints">
- <tp:added version="0.19.12">
- Support for this method is indicated by the
- <tp:member-ref>SupportsRequestHints</tp:member-ref> property.
- Clients MUST recover from this method being unsupported by falling back
- to <tp:dbus-ref
- namespace="ofdT.ChannelDispatcher">CreateChannel</tp:dbus-ref>.
- </tp:added>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Start a request to create a channel. This initially just creates a
- <tp:dbus-ref namespace="org.freedesktop.Telepathy">ChannelRequest</tp:dbus-ref>
- object, which can be used to continue the request and track its
- success or failure.</p>
-
- <tp:rationale>
- <p>The request can take a long time - in the worst case, the
- channel dispatcher has to ask the account manager to put the
- account online, the account manager has to ask the operating
- system to obtain an Internet connection, and the operating
- system has to ask the user whether to activate an Internet
- connection using an on-demand mechanism like dialup.</p>
-
- <p>This means that using a single D-Bus method call and response
- to represent the whole request will tend to lead to that call
- timing out, which is not the behaviour we want.</p>
- </tp:rationale>
-
- <p>If this method is called for an Account that is disabled, invalid
- or otherwise unusable, no error is signalled until
- <tp:dbus-ref
- namespace="org.freedesktop.Telepathy">ChannelRequest.Proceed</tp:dbus-ref>
- is called, at which point
- <tp:dbus-ref
- namespace="org.freedesktop.Telepathy">ChannelRequest.Failed</tp:dbus-ref>
- is emitted with an appropriate error.</p>
-
- <tp:rationale>
- <p>This means there's only one code path for errors, apart from
- InvalidArgument for "that request makes no sense".</p>
-
- <p>It also means that the request will proceed if the account is
- enabled after calling CreateChannel, but before calling
- Proceed.</p>
- </tp:rationale>
- </tp:docstring>
-
- <arg direction="in" name="Account" type="o">
- <tp:docstring>
- The
- <tp:dbus-ref namespace="org.freedesktop.Telepathy">Account</tp:dbus-ref>
- for which the new channel is to be created.
- </tp:docstring>
- </arg>
-
- <arg direction="in" name="Requested_Properties" type="a{sv}"
- tp:type="Qualified_Property_Value_Map">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>A dictionary containing desirable properties. This has the same
- semantics as the corresponding parameter to
- <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.CreateChannel</tp:dbus-ref>.
- </p>
-
- <p>Certain properties will not necessarily make sense in this
- dictionary: for instance,
- <tp:dbus-ref namespace="org.freedesktop.Telepathy.Channel">TargetHandle</tp:dbus-ref>
- can only be given if the requester is able to interact with a
- <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection</tp:dbus-ref>
- to the desired account.</p>
- </tp:docstring>
- </arg>
-
- <arg direction="in" name="User_Action_Time" type="x"
- tp:type="User_Action_Timestamp">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The time at which user action occurred, or 0 if this channel
- request is for some reason not involving user action.
- The <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.ChannelRequest">UserActionTime</tp:dbus-ref>
- property will be set to this value, and it will eventually be
- passed as the <code>User_Action_Time</code> parameter of <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Client.Handler">HandleChannels</tp:dbus-ref>.</p>
- </tp:docstring>
- </arg>
-
- <arg direction="in" name="Preferred_Handler" type="s"
- tp:type="DBus_Well_Known_Name">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Either the well-known bus name (starting with
- <code>org.freedesktop.Telepathy.Client.</code>)
- of the preferred handler for this
- channel, or an empty string to indicate that any handler would be
- acceptable. The channel dispatcher SHOULD dispatch as many as
- possible of the resulting channels (ideally, all of them)
- to that handler—irrespective of whether that handler's <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Client.Handler">HandlerChannelFilter</tp:dbus-ref>
- matches the channel—and SHOULD remember the preferred handler
- so it can try to dispatch subsequent channels in the same bundle
- to the same handler.</p>
-
- <tp:rationale>
- <p>This must be the well-known bus name, not the unique name,
- to ensure that all handlers do indeed have the Client API,
- and the Client object on the handler can be located easily.</p>
-
- <p>This is partly so the channel dispatcher can call
- <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Client.Handler">HandleChannels</tp:dbus-ref>
- on it, and partly so the channel dispatcher
- can recover state if it crashes and is restarted.</p>
-
- <p>The filter should be disregarded for ease of use of this
- interface: clients will usually use this argument to request
- channels be sent to themself, and this should trump the filter
- not matching. This also allows a client to become the handler
- for a channel produced by one of its own requests, while not
- being a candidate to handle other channels of that type.</p>
- </tp:rationale>
-
- <p>If this is a well-known bus name and the handler has the
- Requests interface, the channel dispatcher SHOULD
- call <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Client.Interface.Requests">AddRequest</tp:dbus-ref>
- on that Handler after this method has returned.</p>
-
- <tp:rationale>
- <p>This ordering allows a Handler which calls CreateChannel with
- itself as the preferred handler to associate the call to
- AddRequest with that call.</p>
- </tp:rationale>
-
- <p>This is copied to the ChannelRequest that is returned,
- as the <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.ChannelRequest">PreferredHandler</tp:dbus-ref>
- property.</p>
- </tp:docstring>
-
- <tp:changed version="0.19.0">
- Previously, the spec didn't say that this should disregard the
- handler's filter. This has been implemented since
- telepathy-mission-control 5.3.2.
- </tp:changed>
- </arg>
-
- <arg direction="in" name="Hints" type="a{sv}">
- <tp:docstring>
- <p>Additional information about the channel request, which will be
- used as the value for the resulting request's <tp:dbus-ref
- namespace="ofdT.ChannelRequest.FUTURE">Hints</tp:dbus-ref>
- property, but will not otherwise be interpreted by the Channel
- Dispatcher.</p>
-
- <tp:rationale>
- <p>See the Hints property's documentation for rationale.</p>
- </tp:rationale>
- </tp:docstring>
- </arg>
-
- <arg direction="out" name="Request" type="o">
- <tp:docstring>
- A
- <tp:dbus-ref namespace="org.freedesktop.Telepathy">ChannelRequest</tp:dbus-ref>
- object.
- </tp:docstring>
- </arg>
-
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
- <tp:docstring>
- The Preferred_Handler is syntactically invalid or does
- not start with <code>org.freedesktop.Telepathy.Client.</code>,
- the Account does not exist, or one of the Requested_Properties
- is invalid
- </tp:docstring>
- </tp:error>
- </tp:possible-errors>
-
- </method>
-
- <method name="EnsureChannelWithHints"
- tp:name-for-bindings="Ensure_Channel_With_Hints">
- <tp:added version="0.19.12">
- Support for this method is indicated by the
- <tp:member-ref>SupportsRequestHints</tp:member-ref> property.
- Clients MUST recover from this method being unsupported by falling back
- to <tp:dbus-ref
- namespace="ofdT.ChannelDispatcher">EnsureChannel</tp:dbus-ref>.
- </tp:added>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Start a request to ensure that a channel exists, creating it if
- necessary. This initially just creates a <tp:dbus-ref
- namespace="org.freedesktop.Telepathy">ChannelRequest</tp:dbus-ref>
- object, which can be used to continue the request and track its
- success or failure.</p>
-
- <p>If this method is called for an Account that is disabled, invalid
- or otherwise unusable, no error is signalled until
- <tp:dbus-ref
- namespace="org.freedesktop.Telepathy">ChannelRequest.Proceed</tp:dbus-ref>
- is called, at which point
- <tp:dbus-ref
- namespace="org.freedesktop.Telepathy">ChannelRequest.Failed</tp:dbus-ref>
- is emitted with an appropriate error.</p>
-
- <tp:rationale>
- <p>The rationale is as for <tp:dbus-ref
- namespace='org.freedesktop.Telepathy.ChannelDispatcher'>CreateChannel</tp:dbus-ref>.</p>
- </tp:rationale>
- </tp:docstring>
-
- <arg direction="in" name="Account" type="o">
- <tp:docstring>
- The
- <tp:dbus-ref namespace="org.freedesktop.Telepathy">Account</tp:dbus-ref>
- for which the new channel is to be created.
- </tp:docstring>
- </arg>
-
- <arg direction="in" name="Requested_Properties" type="a{sv}"
- tp:type="Qualified_Property_Value_Map">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>A dictionary containing desirable properties. This has the same
- semantics as the corresponding parameter to
- <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.EnsureChannel</tp:dbus-ref>.
- </p>
-
- <p>Certain properties will not necessarily make sense in this
- dictionary: for instance,
- <tp:dbus-ref namespace="org.freedesktop.Telepathy.Channel">TargetHandle</tp:dbus-ref>
- can only be given if the requester is able to interact with a
- <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection</tp:dbus-ref>
- to the desired account.</p>
- </tp:docstring>
- </arg>
-
- <arg direction="in" name="User_Action_Time" type="x"
- tp:type="User_Action_Timestamp">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The time at which user action occurred, or 0 if this channel
- request is for some reason not involving user action.</p>
-
- <p>This parameter is used in the same way as the corresponding
- parameter to
- <tp:member-ref>CreateChannelWithHints</tp:member-ref>.</p>
- </tp:docstring>
- </arg>
-
- <arg direction="in" name="Preferred_Handler" type="s"
- tp:type="DBus_Well_Known_Name">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Either the well-known bus name (starting with
- <code>org.freedesktop.Telepathy.Client.</code>)
- of the preferred handler for this
- channel, or an empty string to indicate that any handler would be
- acceptable. The behaviour and rationale are the same as for the
- corresponding parameter to
- <tp:member-ref>CreateChannelWithHints</tp:member-ref>, except
- as noted here.</p>
-
- <p>If any new channels are created in response to this
- request, the channel dispatcher SHOULD dispatch as many as
- possible of the resulting channels (ideally, all of them)
- to that handler, and SHOULD remember the preferred handler
- so it can try to dispatch subsequent channels in the same bundle
- to the same handler. If the requested channel already exists (that
- is, <tp:dbus-ref
- namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.EnsureChannel</tp:dbus-ref>
- returns <code>Yours=False</code>) then the channel dispatcher
- SHOULD re-dispatch the channel to its existing handler, and MUST
- NOT dispatch it to this client (unless it is the existing handler);
- the request is still deemed to have succeeded in this case.</p>
-
- <tp:rationale>
- <p>An address book application, for example, might call <tp:dbus-ref
- namespace='org.freedesktop.Telepathy.ChannelDispatcher'>EnsureChannel</tp:dbus-ref>
- to ensure that a text channel with a particular contact is
- displayed to the user; it does not care whether a new channel was
- made. An IM client might call <tp:dbus-ref
- namespace='org.freedesktop.Telepathy.ChannelDispatcher'>EnsureChannel</tp:dbus-ref>
- in response to the user double-clicking an entry in the contact
- list, with itself as the <code>Preferred_Handler</code>; if the
- user already has a conversation with that contact in another
- application, they would expect the existing window to be
- presented, rather than their double-click leading to an error
- message. So the request should succeed, even if its
- <code>Preferred_Handler</code> is not used.</p>
- </tp:rationale>
-
- </tp:docstring>
- </arg>
-
- <arg direction="in" name="Hints" type="a{sv}">
- <tp:docstring>
- Additional information about the channel request, which will be used
- as the value for the resulting request's <tp:dbus-ref
- namespace="ofdT.ChannelRequest.FUTURE">Hints</tp:dbus-ref>
- property.</tp:docstring>
- </arg>
-
- <arg direction="out" name="Request" type="o">
- <tp:docstring>
- A
- <tp:dbus-ref namespace="org.freedesktop.Telepathy">ChannelRequest</tp:dbus-ref>
- object.
- </tp:docstring>
- </arg>
-
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
- <tp:docstring>
- The Preferred_Handler is syntactically invalid or does
- not start with <code>org.freedesktop.Telepathy.Client.</code>,
- the Account does not exist, or one of the Requested_Properties
- is invalid
- </tp:docstring>
- </tp:error>
- </tp:possible-errors>
-
- </method>
-
- <property name="SupportsRequestHints"
- tp:name-for-bindings="Supports_Request_Hints"
- type="b" access="read">
- <tp:added version="0.19.12"/>
- <tp:docstring>
- If <code>True</code>, the channel dispatcher is new enough to support
- <tp:member-ref>CreateChannelWithHints</tp:member-ref> and
- <tp:member-ref>EnsureChannelWithHints</tp:member-ref>, in addition
- to the older <tp:dbus-ref
- namespace="ofdT.ChannelDispatcher">CreateChannel</tp:dbus-ref>
- and <tp:dbus-ref
- namespace="ofdT.ChannelDispatcher">EnsureChannel</tp:dbus-ref>.
- methods. If <code>False</code> or missing, only the metadata-less
- variants are supported.
- </tp:docstring>
- </property>
-
- </interface>
-</node>
-<!-- vim:set sw=2 sts=2 et ft=xml: -->