diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2011-02-24 13:12:03 +0100 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2011-02-24 13:23:34 +0100 |
commit | 129c24a5d09aa84daed4153498e3fd6c9c0866bc (patch) | |
tree | 908771b4ce72e650c5e37ceaef91e179cd04ddbc | |
parent | de3c4991dbc7620335f449e994efa87d1275a974 (diff) |
Update to spec 0.21.10
Add TP_PROP_CHANNEL_INTERFACE_SASL_AUTHENTICATION_MAY_SAVE_RESPONSE
-rw-r--r-- | docs/reference/telepathy-glib-sections.txt | 1 | ||||
-rw-r--r-- | spec/Account.xml | 58 | ||||
-rw-r--r-- | spec/Account_Interface_Avatar.xml | 4 | ||||
-rw-r--r-- | spec/Account_Interface_External_Password_Storage.xml | 52 | ||||
-rw-r--r-- | spec/Account_Interface_Hidden.xml | 65 | ||||
-rw-r--r-- | spec/Account_Manager_Interface_Hidden.xml | 100 | ||||
-rw-r--r-- | spec/Call_Content_Interface_Video_Control.xml | 137 | ||||
-rw-r--r-- | spec/Channel_Interface_Credentials_Storage.xml | 58 | ||||
-rw-r--r-- | spec/Channel_Interface_SASL_Authentication.xml | 19 | ||||
-rw-r--r-- | spec/Channel_Type_Call.xml | 14 | ||||
-rw-r--r-- | spec/Client_Approver.xml | 4 | ||||
-rw-r--r-- | spec/Client_Observer.xml | 27 | ||||
-rw-r--r-- | spec/Connection_Manager.xml | 17 | ||||
-rw-r--r-- | spec/Connection_Manager_Interface_Account_Storage.xml | 117 | ||||
-rw-r--r-- | spec/Makefile.am | 6 | ||||
-rw-r--r-- | spec/all.xml | 8 |
16 files changed, 630 insertions, 57 deletions
diff --git a/docs/reference/telepathy-glib-sections.txt b/docs/reference/telepathy-glib-sections.txt index e6966487..b28e5b87 100644 --- a/docs/reference/telepathy-glib-sections.txt +++ b/docs/reference/telepathy-glib-sections.txt @@ -2678,6 +2678,7 @@ TP_PROP_CHANNEL_INTERFACE_SASL_AUTHENTICATION_CAN_TRY_AGAIN TP_PROP_CHANNEL_INTERFACE_SASL_AUTHENTICATION_DEFAULT_REALM TP_PROP_CHANNEL_INTERFACE_SASL_AUTHENTICATION_DEFAULT_USERNAME TP_PROP_CHANNEL_INTERFACE_SASL_AUTHENTICATION_HAS_INITIAL_DATA +TP_PROP_CHANNEL_INTERFACE_SASL_AUTHENTICATION_MAY_SAVE_RESPONSE TP_PROP_CHANNEL_INTERFACE_SASL_AUTHENTICATION_SASL_ERROR TP_PROP_CHANNEL_INTERFACE_SASL_AUTHENTICATION_SASL_ERROR_DETAILS TP_PROP_CHANNEL_INTERFACE_SASL_AUTHENTICATION_SASL_STATUS diff --git a/spec/Account.xml b/spec/Account.xml index acd8c302..b706e279 100644 --- a/spec/Account.xml +++ b/spec/Account.xml @@ -162,11 +162,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. user at account creation time. The account creation user interface is responsible for setting a reasonable default value in the user's locale; something like "Jabber (bob@example.com)" would be sensible. - - <tp:rationale> - This approximately corresponds to "display name" in NMC 4.x and - Decibel. - </tp:rationale> </tp:docstring> </property> @@ -177,13 +172,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or the empty string to not specify an icon. If the icon is set to an empty string, the account manager or any client MAY derive a default icon, for instance from the protocol. - - <tp:rationale> - This approximately corresponds to mc_profile_get_icon_name - (or possibly mc_profile_get_branding_icon_name) in NMC 4.x. - It's accessed via the account rather than the profile because - we no longer have profiles as a core concept. - </tp:rationale> </tp:docstring> </property> @@ -256,7 +244,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. name for them in our contact list (a "handle" or "pet name" as described in XEP-0165 and its references). The terminology change from alias to nickname here is a step in that direction. - This corresponds to NMC 4.x mc_account_get_alias. </tp:rationale> </tp:docstring> </property> @@ -318,7 +305,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. only those parameters that are stored for this account, and SHOULD only include those parameters that the user has explicitly set. </p> - <p>This property cannot be altered using Set() - use + <p>This property cannot be altered using + <code>org.freedesktop.DBus.Properties.Set()</code>; use <tp:member-ref>UpdateParameters</tp:member-ref> instead.</p> </tp:docstring> </property> @@ -328,14 +316,21 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. <p>Change the value of the <tp:member-ref>Parameters</tp:member-ref> property.</p> - <p>If any of the changed parameters' + <p>If any of the <var>Set</var> parameters’ <tp:type>Conn_Mgr_Param_Flags</tp:type> include <code>DBus_Property</code>, the change will be applied immediately to - the - corresponding D-Bus Property on the active - <tp:member-ref>Connection</tp:member-ref>, if there is one. Changes to - other parameters will not take effect until the next time the account - is disconnected and reconnected.</p> + the corresponding D-Bus Property on the active + <tp:member-ref>Connection</tp:member-ref>, if there is one. If any of + the <var>Unset</var> parameters’ + <tp:type>Conn_Mgr_Param_Flags</tp:type> include both + <code>DBus_Property</code> and <code>Has_Default</code>, the + corresponding D-Bus Property on the connection will be set to the + default value. Changes to other parameters will not take effect + until the next time the account is disconnected and reconnected. (If + parameters are explicitly set to their default value, or are unset + when previously set to their default value, the account manager MAY + decide that no reconnection is necessary to make the change take + effect.)</p> <tp:rationale> <p>In general, reconnecting is a destructive operation that shouldn't @@ -374,7 +369,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. <arg name="Reconnect_Required" type="as" direction="out"> <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> - <p>If all of the parameters had the <code>DBus_Property</code> flag, + <p>If all of the updates could be applied to the active + <tp:member-ref>Connection</tp:member-ref> (if any), the empty list, signifying that no reconnection is required for the new parameters to take effect. For example, if the only parameter updated is <tt>...Cellular.<tp:dbus-ref @@ -441,11 +437,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. requested by the user (for instance, if the user tries to start a conversation using this account). - - <tp:rationale> - This approximately corresponds to NMC 4.x "enabled" and Decibel - "autoreconnect". - </tp:rationale> </tp:docstring> </property> @@ -482,8 +473,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. <tp:rationale> If the AM is doing some sort of backoff/delay on reconnection attempts, the account's status is conceptually "Connecting" even - though there is no Connection. This vaguely corresponds to - GetCurrentStatus in NMC 4.x. + though there is no Connection. </tp:rationale> </tp:docstring> </property> @@ -499,8 +489,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. <tp:rationale> If you weren't watching the Connection at the time it failed, - you can't tell why - unless the AM can tell you. This is part - of GetCurrentStatus in NMC 4.x. + you can't tell why - unless the AM can tell you. </tp:rationale> </tp:docstring> </property> @@ -568,10 +557,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. interface, the type SHOULD be Connection_Presence_Type_Unset. The account manager is expected to set this by observing signals from the Connection. - - <tp:rationale> - This corresponds to GetPresenceActual in NMC 4.x. - </tp:rationale> </tp:docstring> </property> @@ -589,11 +574,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. it must signal this by setting the RequestedPresence to the same thing as the <tp:member-ref>AutomaticPresence</tp:member-ref>.</p> - <tp:rationale> - This corresponds to e.g. GetPresence and GetPresenceMessage - in NMC 4.x. - </tp:rationale> - <p>The <tp:type>Connection_Presence_Type</tp:type> in this property MUST NOT be Unset, Unknown or Error.</p> diff --git a/spec/Account_Interface_Avatar.xml b/spec/Account_Interface_Avatar.xml index 6c85b8e6..a8b78c8a 100644 --- a/spec/Account_Interface_Avatar.xml +++ b/spec/Account_Interface_Avatar.xml @@ -54,10 +54,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. an empty string to indicate no avatar. When the account becomes connected, the account manager SHOULD set this avatar using SetAvatar if appropriate. - - <tp:rationale> - This corresponds to NMC 4.x mc_account_get_avatar. - </tp:rationale> </tp:docstring> </property> diff --git a/spec/Account_Interface_External_Password_Storage.xml b/spec/Account_Interface_External_Password_Storage.xml new file mode 100644 index 00000000..71a54242 --- /dev/null +++ b/spec/Account_Interface_External_Password_Storage.xml @@ -0,0 +1,52 @@ +<?xml version="1.0" ?> +<node name="/Account_Interface_External_Password_Storage" + xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + + <tp:copyright>Copyright © 2011 Collabora Ltd.</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.Account.Interface.ExternalPasswordStorage.DRAFT" + tp:causes-havoc="experimental"> + <tp:added version="0.21.10">(draft 1)</tp:added> + <tp:requires interface="org.freedesktop.Telepathy.Account"/> + + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>An interface for Accounts whose passwords are stored externally and + SHOULD NOT be stored by either the <tp:dbus-ref + namespace="org.freedesktop.Telepathy">AccountManager</tp:dbus-ref> nor + any <tp:dbus-ref + namespace="org.freedesktop.Telepathy.Channel.Type">ServerAuthentication</tp:dbus-ref> + handler.</p> + </tp:docstring> + + <method name="ForgetPassword" tp:name-for-bindings="Forget_Password"> + <tp:docstring> + <p>Clears any saved password associated with this account.</p> + </tp:docstring> + </method> + + <property name="PasswordSaved" + tp:name-for-bindings="Password_Saved" + type="b" access="read"> + <tp:docstring> + <p>Indicates whether the account has a saved password or not.</p> + </tp:docstring> + </property> + + </interface> +</node> diff --git a/spec/Account_Interface_Hidden.xml b/spec/Account_Interface_Hidden.xml new file mode 100644 index 00000000..cb001917 --- /dev/null +++ b/spec/Account_Interface_Hidden.xml @@ -0,0 +1,65 @@ +<?xml version="1.0" ?> +<node name="/Account_Interface_Hidden" + xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + + <tp:copyright>Copyright © 2010 Collabora Ltd.</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.Account.Interface.Hidden.DRAFT1" + tp:causes-havoc="outrageous"> + <tp:added version="0.21.10">(draft 1)</tp:added> + + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>An interface for flagging certain accounts as hidden, so that they do + not appear in the account manager's standard lists of accounts. + Accounts whose <tp:member-ref>Hidden</tp:member-ref> property is + <code>True</code> are intended for non-interactive use (by + non-user-visible services), and appear on the <tp:dbus-ref + namespace='ofdT'>AccountManager.Interface.Hidden.DRAFT1</tp:dbus-ref> + interface; in all other respects, they behave like any other + account.</p> + + <tp:rationale> + <p>XMPP, in particular, is increasingly used for purposes other than + instant messaging and VoIP. For instance, extensions exist for + inter-device bookmark synchronization.</p> + + <p>While obviously these services could re-use connections intended for + instant messaging, in some cases you might want to use a different + account. (Perhaps your bookmark sync provider is not your IM + provider.) This API allows such auxiliary accounts to exist in + Telepathy, while not being displayed in standard user interfaces for + IM, VoIP, and friends.</p> + </tp:rationale> + </tp:docstring> + + <property name="Hidden" tp:name-for-bindings="Hidden" + type="b" access="read" tp:immutable='aye'> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>If <code>True</code>, this account is intended for non-interactive + use, and thus should not be presented to the user. It will not appear + in properties and signals on the main <tp:dbus-ref + namespace='ofdT'>AccountManager</tp:dbus-ref> interface; instead, it + will show up on <tp:dbus-ref + namespace='ofdT'>AccountManager.Interface.Hidden.DRAFT1</tp:dbus-ref>.</p> + </tp:docstring> + </property> + + </interface> +</node> +<!-- vim:set sw=2 sts=2 et ft=xml: --> diff --git a/spec/Account_Manager_Interface_Hidden.xml b/spec/Account_Manager_Interface_Hidden.xml new file mode 100644 index 00000000..284eb642 --- /dev/null +++ b/spec/Account_Manager_Interface_Hidden.xml @@ -0,0 +1,100 @@ +<?xml version="1.0" ?> +<node name="/Account_Manager_Interface_Hidden" + xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + <tp:copyright>Copyright © 2010 Collabora Ltd.</tp:copyright> + <tp:copyright>Copyright © 2010 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.AccountManager.Interface.Hidden.DRAFT1" + tp:causes-havoc='kind of sketchy'> + <tp:requires interface='org.freedesktop.Telepathy.AccountManager'/> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>This interface lists accounts whose <tp:dbus-ref + namespace='ofdT.Account.Interface.Hidden.DRAFT1'>Hidden</tp:dbus-ref> + property is <code>True</code>.</p> + </tp:docstring> + <tp:added version="0.21.10">first draft</tp:added> + + <property name="ValidHiddenAccounts" type="ao" access="read" + tp:name-for-bindings="Valid_Hidden_Accounts"> + <tp:docstring> + A list of valid (complete, usable) <tp:dbus-ref + namespace="org.freedesktop.Telepathy">Account</tp:dbus-ref>s intended + exclusively for noninteractive applications. These accounts are not + included in <tp:dbus-ref + namespace='ofdT'>AccountManager.ValidAccounts</tp:dbus-ref>. Change + notification is via + <tp:member-ref>HiddenAccountValidityChanged</tp:member-ref>. + </tp:docstring> + </property> + + <property name="InvalidHiddenAccounts" type="ao" access="read" + tp:name-for-bindings="Invalid_Hidden_Accounts"> + <tp:docstring> + A list of incomplete or otherwise unusable <tp:dbus-ref + namespace="org.freedesktop.Telepathy">Account</tp:dbus-ref>s intended + exclusively for noninteractive applications. Change notification is via + <tp:member-ref>HiddenAccountValidityChanged</tp:member-ref>. + </tp:docstring> + </property> + + <signal name="HiddenAccountRemoved" + tp:name-for-bindings="Hidden_Account_Removed"> + <tp:docstring> + The given account has been removed from + <tp:member-ref>ValidHiddenAccounts</tp:member-ref> or + <tp:member-ref>InvalidHiddenAccounts</tp:member-ref>. + </tp:docstring> + + <arg name="Account" type="o"> + <tp:docstring> + An Account, which must not be used any more. + </tp:docstring> + </arg> + </signal> + + <signal name="HiddenAccountValidityChanged" + tp:name-for-bindings="Hidden_Account_Validity_Changed"> + <tp:docstring> + The validity of the given account has changed. New magic + accounts are also indicated by this signal, as an account validity + change (usually to True) on an account that did not previously exist. + + <tp:rationale> + This is effectively change notification for the valid and invalid + accounts lists. + </tp:rationale> + </tp:docstring> + + <arg name="Account" type="o"> + <tp:docstring> + An <tp:dbus-ref + namespace="org.freedesktop.Telepathy">Account</tp:dbus-ref>. + </tp:docstring> + </arg> + + <arg name="Valid" type="b"> + <tp:docstring> + True if the account is now valid. + </tp:docstring> + </arg> + </signal> + + </interface> +</node> +<!-- vim:set sw=2 sts=2 et ft=xml: --> diff --git a/spec/Call_Content_Interface_Video_Control.xml b/spec/Call_Content_Interface_Video_Control.xml new file mode 100644 index 00000000..b066de42 --- /dev/null +++ b/spec/Call_Content_Interface_Video_Control.xml @@ -0,0 +1,137 @@ +<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"> +<node name="/Call_Content_Interface_Video_Control" + xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + <tp:copyright>Copyright © 2009-2010 Collabora Ltd.</tp:copyright> + <tp:copyright>Copyright © 2009-2010 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.Call.Content.Interface.VideoControl.DRAFT" + tp:causes-havoc="experimental"> + <tp:added version="0.21.10">(draft 1)</tp:added> + <tp:requires interface="org.freedesktop.Telepathy.Call.Content.Interface.Media.DRAFT"/> + + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>An interface that allows the connection manager to control the video + stream.</p> + <p>This interface is generally not needed. In cases where the connection + manager handles the network communication and the media is transferred + from the client to the connection manager via shared memory, it can + sometimes be beneficial for the connection manager to be able to + control certain aspects of the video stream.</p> + </tp:docstring> + + <signal name="KeyFrameRequested" tp:name-for-bindings="Key_Frame_Requested"> + <tp:docstring> + Request that the video encoder produce a new key frame as soon as + possible. + </tp:docstring> + </signal> + + <tp:struct name="Video_Resolution" + array-name="Video_Resolution_Struct"> + <tp:member type="u" name="Width"> + <tp:docstring> + With of the video stream. + </tp:docstring> + </tp:member> + <tp:member type="u" name="Height"> + <tp:docstring> + Height of the video stream. + </tp:docstring> + </tp:member> + </tp:struct> + + <property name="VideoResolution" type="(uu)" tp:type="Video_Resolution" + access="read" tp:name-for-bindings="Video_Resolution"> + <tp:docstring> + The resolution at which the streaming engine should be sending. + + <p>Change notification is via the + <tp:member-ref>VideoResolutionChanged</tp:member-ref> signal.</p> + </tp:docstring> + </property> + + <signal name="VideoResolutionChanged" + tp:name-for-bindings="Video_Resolution_Changed"> + <tp:docstring> + The desired video resolution has changed. + </tp:docstring> + <arg type="(uu)" tp:type="Video_Resolution" name="NewResolution" /> + </signal> + + <property name="Bitrate" type="u" access="read" + tp:name-for-bindings="Bitrate"> + <tp:docstring> + The bitrate the streaming engine should be sending at. + + <p>Change notification is via the + <tp:member-ref>BitrateChanged</tp:member-ref> signal.</p> + </tp:docstring> + </property> + + <signal name="BitrateChanged" + tp:name-for-bindings="Bitrate_Changed"> + <tp:docstring> + The desired bitrate has changed + </tp:docstring> + <arg type="u" name="NewBitrate" /> + </signal> + + <property name="Framerate" type="u" access="read" + tp:name-for-bindings="Framerate"> + <tp:docstring> + The framerate the streaming engine should be sending at. + + <p>Change notification is via the + <tp:member-ref>FramerateChanged</tp:member-ref> signal.</p> + </tp:docstring> + </property> + + <signal name="FramerateChanged" + tp:name-for-bindings="Framerate_Changed"> + <tp:docstring> + The desired framerate has changed + </tp:docstring> + <arg type="u" name="NewFramerate" /> + </signal> + + <property name="MTU" type="u" access="read" + tp:name-for-bindings="MTU"> + <tp:docstring> + The Maximum Transmission Unit + + <p>Change notification is via the + <tp:member-ref>MTUChanged</tp:member-ref> signal.</p> + </tp:docstring> + </property> + + <signal name="MTUChanged" tp:name-for-bindings="MTU_Changed"> + <tp:docstring> + The Maximum Transmission Unit has changed + </tp:docstring> + <arg type="u" name="NewMTU" /> + </signal> + + <property name="ManualKeyFrames" type="b" access="read" + tp:name-for-bindings="Manual_Key_Frames"> + <tp:docstring> + Only send key frames when manually requested + </tp:docstring> + </property> + </interface> +</node> diff --git a/spec/Channel_Interface_Credentials_Storage.xml b/spec/Channel_Interface_Credentials_Storage.xml new file mode 100644 index 00000000..14e6f3d8 --- /dev/null +++ b/spec/Channel_Interface_Credentials_Storage.xml @@ -0,0 +1,58 @@ +<?xml version="1.0" ?> +<node name="/Channel_Interface_Credentials_Storage" + xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + <tp:copyright> Copyright © 2011 Collabora Limited </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.Channel.Interface.CredentialsStorage.DRAFT"> + <tp:added version="0.21.10">(draft 1)</tp:added> + <tp:requires interface="org.freedesktop.Telepathy.Channel.Interface.SASLAuthentication"/> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>A channel interface for SASL authentication channels that can save the + credentials in the connection manager.</p> + + <p>This interface is unlikely to be present for any SASL channels that are + more complex than a simple password prompt (e.g. + <code>X-TELEPATHY-PASSWORD</code> or <code>PLAIN</code>).</p> + + <p>In practice, this interface should only be implemented by connection + managers that implement the <tp:dbus-ref + namespace="ofdT">ConnectionManager.Interface.AccountStorage.DRAFT</tp:dbus-ref> + interface. To clear a password that has been saved in this manner, a + client should call <tp:dbus-ref + namespace="ofdT.ConnectionManager.Interface">AccountStorage.DRAFT.ForgetCredentials</tp:dbus-ref> + on the Account.</p> + </tp:docstring> + + <method name="StoreCredentials" tp:name-for-bindings="Store_Credentials"> + <arg direction="in" name="Store" type="b"> + <tp:docstring> + Whether to store the authentication credentials. + </tp:docstring> + </arg> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>This method tells the connection manager whether to store the + authentication response in order to allow the connection manager to + sign-on automatically in the future.</p> + <p>If credentials have been stored in this way, the client SHOULD NOT + attempt to store the credentials locally in a keyring.</p> + <p>This method MUST be called before <tp:dbus-ref + namespace="org.freedesktop.Telepathy.Channel.Interface.SASLAuthentication">AcceptSASL</tp:dbus-ref> + is called or it will have no effect.</p> + </tp:docstring> + </method> + </interface> +</node> diff --git a/spec/Channel_Interface_SASL_Authentication.xml b/spec/Channel_Interface_SASL_Authentication.xml index 38568b1d..7985a6bd 100644 --- a/spec/Channel_Interface_SASL_Authentication.xml +++ b/spec/Channel_Interface_SASL_Authentication.xml @@ -367,6 +367,25 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</ </tp:docstring> </property> + <property name="MaySaveResponse" tp:name-for-bindings="May_Save_Response" + type="b" access="read" tp:immutable="yes"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>Whether or not the client can save the authentication response and + re-use it to automate future authentication challenges.</p> + + <p>If this property is <code>False</code>, the client SHOULD NOT attempt + to cache the authentication response in its own keyring.</p> + + <p>If this property is not specified, it should be treated as if it were + <code>True</code>.</p> + + <tp:rationale>Some protocols or services may have terms and conditions + that prohibit caching a user's credentials.</tp:rationale> + + </tp:docstring> + </property> + + <method name="StartMechanism" tp:name-for-bindings="Start_Mechanism"> <arg direction="in" name="Mechanism" type="s" tp:type="SASL_Mechanism"> <tp:docstring> diff --git a/spec/Channel_Type_Call.xml b/spec/Channel_Type_Call.xml index 039c1f98..045d4169 100644 --- a/spec/Channel_Type_Call.xml +++ b/spec/Channel_Type_Call.xml @@ -32,7 +32,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. <p>Handlers are advised against executing all the media signalling, codec and candidate negotiation themselves but instead use a helper library such as <a - href="http://telepathy.freedesktop.org/doc/telepathy-farsight/">telepathy-farsight</a> + href="http://telepathy.freedesktop.org/doc/telepathy-farstream/">telepathy-farstream</a> which when given a new Call channel will set up the transports and codecs and create GStreamer pads which can be added to the handler UI. This is useful as it means @@ -117,7 +117,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. <tp:type>Call_State</tp:type>_Accepted.</p> <p>At this point <a - href="http://telepathy.freedesktop.org/doc/telepathy-farsight/">telepathy-farsight</a> + href="http://telepathy.freedesktop.org/doc/telepathy-farstream/">telepathy-farstream</a> will signal that a pad is available for the handler to show in the user interface.</p> @@ -183,9 +183,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. <p>Once the handler has notified the local user that there is an incoming call waiting for acceptance, the handler should call <tp:member-ref>SetRinging</tp:member-ref> to let the CM know. - The new channel should also be given to telepathy-farsight to + The new channel should also be given to telepathy-farstream to work out how the two participants will connect together. - telepathy-farsight will call the appropriate methods on the call's + telepathy-farstream will call the appropriate methods on the call's <tp:dbus-ref namespace="ofdT.Call">Content.DRAFT</tp:dbus-ref>s to negotiate codecs and transports.</p> @@ -193,7 +193,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. <tp:member-ref>Accept</tp:member-ref>. The <tp:member-ref>CallState</tp:member-ref> property changes to <tp:type>Call_State</tp:type>_Accepted and once media is - being transferred, telepathy-farsight will notify the + being transferred, telepathy-farstream will notify the handler of a new pad to be shown to the local user in the UI</p> @@ -225,9 +225,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. </blockquote> <p>Assuming no errors, the new video content will be added to - the call. telepathy-farsight will pick up the new content and + the call. telepathy-farstream will pick up the new content and perform the transport and codec negotiation automatically. - telpathy-farsight will signal when the video is ready to + telpathy-farstream will signal when the video is ready to show in the handler's user interface.</p> <p>A similar method is used for removing contents from a call, diff --git a/spec/Client_Approver.xml b/spec/Client_Approver.xml index dd26303d..12cbc76a 100644 --- a/spec/Client_Approver.xml +++ b/spec/Client_Approver.xml @@ -77,6 +77,10 @@ <p>Approvers should usually prompt the user and ask for confirmation, rather than dispatching the channel to a handler straight away.</p> + + <p>Non-interactive approvers can also be implemented as + <tp:dbus-ref namespace="ofdT.Client">Observer</tp:dbus-ref>s as + described in the interface description.</p> </tp:docstring> <property name="ApproverChannelFilter" diff --git a/spec/Client_Observer.xml b/spec/Client_Observer.xml index 01fee8b9..b944ffd0 100644 --- a/spec/Client_Observer.xml +++ b/spec/Client_Observer.xml @@ -86,6 +86,33 @@ destructive happen. Destructive things (e.g. acknowledging messages) are defined to be done by handlers, therefore HandleWith and Claim aren't allowed to succeed until all observers are ready.</p> + + <p>Non-interactive approvers (for instance, to shoot down spam + IM channels before the tray icon blinks at the user, or to grab + a SASL channel before the user is prompted for a password) can + be implemented as observers by following these steps:</p> + + <ol> + <li><tp:member-ref>ObserveChannels</tp:member-ref>() is called + on the observer.</li> + <li>The observer calls <tp:dbus-ref + namespace="ofdT.ChannelDispatchOperation">Claim</tp:dbus-ref>() + on the CDO.</li> + <li>The observer then returns from + <tp:member-ref>ObserveChannels</tp:member-ref>().</li> + <li><tp:dbus-ref + namespace="ofdT.ChannelDispatchOperation">Claim</tp:dbus-ref> + will return successfully if the channels were successfully + claimed, or failure if someone else got there first.</li> + </ol> +<!-- + <p>Non-interactive approvers implemented as observers SHOULD + also set <tp:member-ref>DelayApprovers</tp:member-ref> to TRUE + so that other Approvers are not called on until all observers + return from <tp:member-ref>ObserveChannels</tp:member-ref>. + This gives non-interactive approvers a chance to claim the + channels before Approvers are called.</p> +--> </tp:docstring> <property name="ObserverChannelFilter" diff --git a/spec/Connection_Manager.xml b/spec/Connection_Manager.xml index d75d866d..3683fcad 100644 --- a/spec/Connection_Manager.xml +++ b/spec/Connection_Manager.xml @@ -45,9 +45,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</ a library on which they are based.</p> <tp:rationale> - <p>We often abbreviate, for instance, telepathy-haze as "Haze", - but abbreviating telepathy-sofiasip to "Sofia-SIP" would cause - confusion between the connection manager and the library it + <p>We often abbreviate, for instance, <i>telepathy-haze</i> as + “Haze”, but abbreviating <i>telepathy-sofiasip</i>—since renamed to + <i>telepathy-rakia</i> for exactly this reason—to “Sofia-SIP” + caused confusion between the connection manager and the library it uses. Please don't repeat that mistake.</p> </tp:rationale> </tp:docstring> @@ -156,9 +157,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</ and possibly changed on an existing Connection using methods on the <code>org.freedesktop.DBus.Properties</code> interface.</p> - <p>When a parameter with this flag is changed with <tp:dbus-ref - namespace="ofdT">Account.UpdateParameters</tp:dbus-ref>, the - account manager will attempt to update its value on any running + <p>When a new value for a parameter with this flag is passed to + <tp:dbus-ref namespace="ofdT">Account.UpdateParameters</tp:dbus-ref>, + the account manager will attempt to update its value on any running + connections. Similarly, if the parameter also has the + <code>Has_Default</code> flag, and is passed in the second argument + to <code>UpdateParameters</code>, the default value will be applied + to any running connections. Thus, clients generally do not need to directly access or update the connection property; instead, they SHOULD manipulate <tp:dbus-ref namespace="ofdT">Account.Parameters</tp:dbus-ref>.</p> diff --git a/spec/Connection_Manager_Interface_Account_Storage.xml b/spec/Connection_Manager_Interface_Account_Storage.xml new file mode 100644 index 00000000..143d5de7 --- /dev/null +++ b/spec/Connection_Manager_Interface_Account_Storage.xml @@ -0,0 +1,117 @@ +<?xml version="1.0" ?> +<node name="/Connection_Manager_Interface_Account_Storage" + xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + + <tp:copyright>Copyright © 2011 Collabora Ltd.</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.ConnectionManager.Interface.AccountStorage.DRAFT" + tp:causes-havoc="experimental"> + <tp:added version="0.21.10">(draft 1)</tp:added> + <tp:requires interface="org.freedesktop.Telepathy.ConnectionManager"/> + + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>An interface for connection managers that store account details + internally. At the moment this consists only of storing an account's + credentials, but other functionality may be added in the future.</p> + <p><tp:dbus-ref + namespace="org.freedesktop.Telepathy">Account</tp:dbus-ref> objects + representing accounts on a connection manager that implements this + interface should implement the <tp:dbus-ref + namespace="org.freedesktop.Telepathy.Account.Interface">ExternalPasswordStorage.DRAFT</tp:dbus-ref> + interface.</p> + + </tp:docstring> + + <tp:flags name="Account_Flags" value-prefix="Account_Flag" type="u"> + <tp:docstring> + A set of flags representing the status of the Account stored in the Connection Manager. + </tp:docstring> + + <tp:flag suffix="Credentials_Stored" value="1"> + <tp:docstring> + The associated account has its authentication credentials (password) + stored in the connection manager + </tp:docstring> + </tp:flag> + </tp:flags> + + <tp:mapping name="Account_Flags_Map" array-name="Account_Flags_Map_List"> + <tp:docstring>A mapping from Account_Ids to account flags. + </tp:docstring> + <tp:member type="s" name="Account_Id"/> + <tp:member type="u" tp:type="Account_Flags" name="Flags"/> + </tp:mapping> + + <property name="Accounts" + tp:name-for-bindings="Accounts" + type="a{su}" tp:type="Account_Flags_Map" access="read"> + <tp:docstring> + The set of Accounts stored in this connection manager, and flags + indicating their status. + </tp:docstring> + </property> + + <method name="ForgetCredentials" tp:name-for-bindings="Forget_Credentials"> + <tp:docstring> + Clears any saved credentials associated with the specified Account_Id. + Any other saved data related to the account will be unaffected. + </tp:docstring> + + <arg direction="in" name="Account_Id" + type="s"> + <tp:docstring> + An account id as returned from <tp:dbus-ref + namespace="org.freedesktop.Telepathy">Protocol.IdentifyAccount</tp:dbus-ref>. + </tp:docstring> + </arg> + + <tp:possible-errors> + <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument"> + <tp:docstring> + The account id is invalid. + </tp:docstring> + </tp:error> + </tp:possible-errors> + </method> + + <method name="RemoveAccount" tp:name-for-bindings="Remove_Account"> + <tp:docstring> + Completely removes all data associated with an account from the + connection manager's internal storage. + </tp:docstring> + + <arg direction="in" name="Account_Id" + type="s"> + <tp:docstring> + An account id as returned from <tp:dbus-ref + namespace="org.freedesktop.Telepathy">Protocol.IdentifyAccount</tp:dbus-ref>. + </tp:docstring> + </arg> + + <tp:possible-errors> + <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument"> + <tp:docstring> + The account id is invalid. + </tp:docstring> + </tp:error> + </tp:possible-errors> + </method> + + </interface> +</node> diff --git a/spec/Makefile.am b/spec/Makefile.am index cb8fc0a1..e8e3e0cc 100644 --- a/spec/Makefile.am +++ b/spec/Makefile.am @@ -2,13 +2,17 @@ EXTRA_DIST = \ Account.xml \ Account_Interface_Addressing.xml \ Account_Interface_Avatar.xml \ + Account_Interface_External_Password_Storage.xml \ + Account_Interface_Hidden.xml \ Account_Interface_Storage.xml \ Account_Manager.xml \ + Account_Manager_Interface_Hidden.xml \ Authentication_TLS_Certificate.xml \ Call_Content.xml \ Call_Content_Codec_Offer.xml \ Call_Content_Interface_Media.xml \ Call_Content_Interface_Mute.xml \ + Call_Content_Interface_Video_Control.xml \ Call_Stream.xml \ Call_Stream_Endpoint.xml \ Call_Stream_Interface_Media.xml \ @@ -23,6 +27,7 @@ EXTRA_DIST = \ Channel_Interface_Call_State.xml \ Channel_Interface_Chat_State.xml \ Channel_Interface_Conference.xml \ + Channel_Interface_Credentials_Storage.xml \ Channel_Interface_DTMF.xml \ Channel_Interface_Destroyable.xml \ Channel_Interface_Group.xml \ @@ -88,6 +93,7 @@ EXTRA_DIST = \ Connection_Interface_Service_Point.xml \ Connection_Interface_Simple_Presence.xml \ Connection_Manager.xml \ + Connection_Manager_Interface_Account_Storage.xml \ Debug.xml \ Media_Session_Handler.xml \ Media_Stream_Handler.xml \ diff --git a/spec/all.xml b/spec/all.xml index 41834065..6f4f8e37 100644 --- a/spec/all.xml +++ b/spec/all.xml @@ -3,7 +3,7 @@ xmlns:xi="http://www.w3.org/2001/XInclude"> <tp:title>Telepathy D-Bus Interface Specification</tp:title> -<tp:version>0.21.9</tp:version> +<tp:version>0.21.10</tp:version> <tp:copyright>Copyright © 2005-2010 Collabora Limited</tp:copyright> <tp:copyright>Copyright © 2005-2010 Nokia Corporation</tp:copyright> @@ -32,6 +32,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</ </p> </tp:docstring> <xi:include href="Connection_Manager.xml"/> + <xi:include href="Connection_Manager_Interface_Account_Storage.xml"/> <xi:include href="Protocol.xml"/> <xi:include href="Protocol_Interface_Addressing.xml"/> <xi:include href="Protocol_Interface_Avatars.xml"/> @@ -163,6 +164,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</ <xi:include href="Channel_Interface_Password.xml"/> <xi:include href="Channel_Interface_Room.xml"/> <xi:include href="Channel_Interface_SASL_Authentication.xml"/> + <xi:include href="Channel_Interface_Credentials_Storage.xml"/> <xi:include href="Channel_Interface_Securable.xml"/> <xi:include href="Channel_Interface_Service_Point.xml"/> <xi:include href="Channel_Interface_Tube.xml"/> @@ -233,6 +235,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</ <xi:include href="Call_Content.xml"/> <xi:include href="Call_Content_Interface_Media.xml"/> <xi:include href="Call_Content_Interface_Mute.xml"/> + <xi:include href="Call_Content_Interface_Video_Control.xml"/> <xi:include href="Call_Content_Codec_Offer.xml"/> <xi:include href="Call_Stream.xml"/> <xi:include href="Call_Stream_Interface_Media.xml"/> @@ -254,10 +257,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</ </p> </tp:docstring> <xi:include href="Account_Manager.xml"/> + <xi:include href="Account_Manager_Interface_Hidden.xml"/> <xi:include href="Account.xml"/> <xi:include href="Account_Interface_Addressing.xml"/> <xi:include href="Account_Interface_Avatar.xml"/> + <xi:include href="Account_Interface_Hidden.xml"/> <xi:include href="Account_Interface_Storage.xml"/> + <xi:include href="Account_Interface_External_Password_Storage.xml"/> </tp:section> <tp:section name="The Channel Dispatcher"> |