summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-02-24 13:12:03 +0100
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-02-24 13:23:34 +0100
commit129c24a5d09aa84daed4153498e3fd6c9c0866bc (patch)
tree908771b4ce72e650c5e37ceaef91e179cd04ddbc /spec
parentde3c4991dbc7620335f449e994efa87d1275a974 (diff)
downloadtelepathy-glib-129c24a5d09aa84daed4153498e3fd6c9c0866bc.tar.gz
Update to spec 0.21.10
Add TP_PROP_CHANNEL_INTERFACE_SASL_AUTHENTICATION_MAY_SAVE_RESPONSE
Diffstat (limited to 'spec')
-rw-r--r--spec/Account.xml58
-rw-r--r--spec/Account_Interface_Avatar.xml4
-rw-r--r--spec/Account_Interface_External_Password_Storage.xml52
-rw-r--r--spec/Account_Interface_Hidden.xml65
-rw-r--r--spec/Account_Manager_Interface_Hidden.xml100
-rw-r--r--spec/Call_Content_Interface_Video_Control.xml137
-rw-r--r--spec/Channel_Interface_Credentials_Storage.xml58
-rw-r--r--spec/Channel_Interface_SASL_Authentication.xml19
-rw-r--r--spec/Channel_Type_Call.xml14
-rw-r--r--spec/Client_Approver.xml4
-rw-r--r--spec/Client_Observer.xml27
-rw-r--r--spec/Connection_Manager.xml17
-rw-r--r--spec/Connection_Manager_Interface_Account_Storage.xml117
-rw-r--r--spec/Makefile.am6
-rw-r--r--spec/all.xml8
15 files changed, 629 insertions, 57 deletions
diff --git a/spec/Account.xml b/spec/Account.xml
index acd8c3028..b706e279f 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 6c85b8e65..a8b78c8a2 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 000000000..71a542428
--- /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 000000000..cb0019178
--- /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 000000000..284eb6428
--- /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 000000000..b066de42b
--- /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 000000000..14e6f3d8b
--- /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 38568b1dd..7985a6bd5 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 039c1f982..045d41693 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 dd26303d1..12cbc76ac 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 01fee8b9f..b944ffd02 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 d75d866dd..3683fcadf 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 000000000..143d5de73
--- /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 cb8fc0a13..e8e3e0cc5 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 418340655..6f4f8e371 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">