diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2010-09-29 15:40:28 +0100 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2010-09-29 15:40:28 +0100 |
commit | a795bb28d03c0d60785a554794351402a08d875a (patch) | |
tree | 865a36a2611f91e8495d3511b1f5feef044499cd /spec | |
parent | 9e248b927ffa732f6d8806b84209c3027a760e48 (diff) | |
download | telepathy-glib-a795bb28d03c0d60785a554794351402a08d875a.tar.gz |
Update to spec 0.21.1
- add Access_Control, Access_Control_Type
- ClientTypes to follow in a later commit
Diffstat (limited to 'spec')
-rw-r--r-- | spec/Account.xml | 31 | ||||
-rw-r--r-- | spec/Connection_Interface_Client_Types.xml | 25 | ||||
-rw-r--r-- | spec/Connection_Interface_Communication_Policy.xml | 163 | ||||
-rw-r--r-- | spec/Connection_Interface_Resources.xml | 212 | ||||
-rw-r--r-- | spec/Connection_Interface_Simple_Presence.xml | 131 | ||||
-rw-r--r-- | spec/Makefile.am | 2 | ||||
-rw-r--r-- | spec/all.xml | 4 |
7 files changed, 540 insertions, 28 deletions
diff --git a/spec/Account.xml b/spec/Account.xml index 5917c6f0b..acd8c3028 100644 --- a/spec/Account.xml +++ b/spec/Account.xml @@ -407,16 +407,23 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. <p>The presence status that this account should have if it is brought online.</p> + <tp:rationale> + In ITOS2007 and ITOS2008 this is a global preference, not visible + on D-Bus (the "default presence"). "Automatic presence" better + describes when it is used. + </tp:rationale> + <p>Setting this property MUST NOT actually change the account's status until the next time it is (re)connected for some reason.</p> - <p>The <tp:type>Connection_Presence_Type</tp:type> in the structure - SHOULD NOT be Offline or Unset.</p> + <p>The value of this property MUST be one that would be acceptable + for <tp:member-ref>RequestedPresence</tp:member-ref>, + with the additional restriction that the + <tp:type>Connection_Presence_Type</tp:type> MUST NOT be Offline.</p> <tp:rationale> - In ITOS2007 and ITOS2008 this is a global preference, not visible - on D-Bus (the "default presence"). "Automatic presence" better - describes when it is used. + <p>Otherwise, it would not be possible to use this presence to bring + the account online for a channel request.</p> </tp:rationale> </tp:docstring> </property> @@ -553,11 +560,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. <property name="CurrentPresence" type="(uss)" access="read" tp:type="Simple_Presence" tp:name-for-bindings="Current_Presence"> <tp:docstring> - The actual presence. If the connection is not online, this should be - (Connection_Presence_Type_Offline, "", ""). + The actual presence. If the connection is not online, the + <tp:type>Connection_Presence_Type</tp:type> SHOULD be + Connection_Presence_Type_Offline. If the connection is online but does not support the <tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection.Interface">SimplePresence</tp:dbus-ref> - interface, this should be (Connection_Presence_Type_Unset, "", ""). + interface, the type SHOULD be Connection_Presence_Type_Unset. The account manager is expected to set this by observing signals from the Connection. @@ -585,6 +593,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 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> + + <tp:rationale> + <p>Requesting those presence types doesn't make sense.</p> + </tp:rationale> </tp:docstring> </property> diff --git a/spec/Connection_Interface_Client_Types.xml b/spec/Connection_Interface_Client_Types.xml index fc5c7b8c7..97908561a 100644 --- a/spec/Connection_Interface_Client_Types.xml +++ b/spec/Connection_Interface_Client_Types.xml @@ -17,9 +17,8 @@ Lesser General Public License for more details.</p> 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.Connection.Interface.ClientTypes.DRAFT" - tp:causes-havoc="experimental"> - <tp:added version="0.19.11">(as draft)</tp:added> + <interface name="org.freedesktop.Telepathy.Connection.Interface.ClientTypes"> + <tp:added version="0.21.1">(as stable API)</tp:added> <tp:requires interface="org.freedesktop.Telepathy.Connection"/> <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> @@ -47,9 +46,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</ <li>pc</li> <li>phone</li> <li>web</li> +<!-- Excluding these two because there's been no conclusion regarding my mail + to standards@xmpp.org about adding these two to their list: + <li>sms (the client is not actually an instant messaging client but all messages sent to this contact will be delivered as SMSs)</li> <li>game (a gaming device)</li> +--> </ul> <p>If the empty list is given as the client types, this means that @@ -88,7 +91,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</ A contact. </tp:docstring> </tp:member> - <tp:member type="as" name="Client_Types"> + <tp:member type="as" name="Client_Types" tp:type="Contact_Client_Type[]"> <tp:docstring> The contact's client types as documented earlier in this interface. </tp:docstring> @@ -155,7 +158,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</ </tp:docstring> </arg> - <arg direction="out" name="Client_Types" type="as"> + <arg direction="out" name="Client_Types" type="as" + tp:type="Contact_Client_Type[]"> <tp:docstring> The contact's client types. It MAY be empty, indicating that no client type information was found. @@ -185,7 +189,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</ The contact. </tp:docstring> </arg> - <arg name="Client_Types" type="as"> + <arg name="Client_Types" type="as" tp:type="Contact_Client_Type[]"> <tp:docstring> The contact's client types, or an empty list to indicate that nothing is known about the contact's client types. @@ -193,7 +197,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</ </arg> </signal> - <tp:contact-attribute name="client-types" type="as"> + <tp:contact-attribute name="client-types" type="as" + tp:type="Contact_Client_Type[]"> <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>The same mapping that would be returned by <tp:member-ref>GetClientTypes</tp:member-ref> for this contact. @@ -202,6 +207,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</ </tp:docstring> </tp:contact-attribute> + <tp:simple-type name="Contact_Client_Type" type="s" + array-name="Contact_Client_Type_List"> + <tp:docstring>A string representing a single client type of a + contact.</tp:docstring> + </tp:simple-type> + </interface> </node> <!-- vim:set sw=2 sts=2 et ft=xml: --> diff --git a/spec/Connection_Interface_Communication_Policy.xml b/spec/Connection_Interface_Communication_Policy.xml new file mode 100644 index 000000000..9a92fa047 --- /dev/null +++ b/spec/Connection_Interface_Communication_Policy.xml @@ -0,0 +1,163 @@ +<?xml version="1.0" ?> +<node name="/Connection_Interface_Communication_Policy" + xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + <tp:copyright>Copyright © 2010 Collabora Limited</tp:copyright> + <tp:license xmlns="http://www.w3.org/1999/xhtml"> +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + </tp:license> + + <interface + name="org.freedesktop.Telepathy.Connection.Interface.CommunicationPolicy.DRAFT" + tp:causes-havoc="experimental"> + <tp:added version="0.21.1">(draft 1)</tp:added> + <tp:requires interface="org.freedesktop.Telepathy.Connection.Interface.SimplePresence"/> + + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p> + This interface supports controlling which contacts are allowed + to initiate text chats, incoming calls, and other forms of + communication as supported by the underlying protocol. The + policies supported for different communication methods on this + connection are listed in the + <tp:member-ref>SupportedPolicies</tp:member-ref> property. The + current configuration is held in + <tp:member-ref>ActivePolicies</tp:member-ref>; it can be modified + using <tp:member-ref>SetPolicy</tp:member-ref>, and changes + are signalled by <tp:member-ref>PolicyChanged</tp:member-ref>. + </p> + </tp:docstring> + + <tp:mapping name="Active_Policies_Map"> + <tp:docstring> + A mapping of communication methods (channel types), and their + associated policy. + </tp:docstring> + + <tp:member type="s" tp:type="DBus_Interface" name="Channel_Type"> + <tp:docstring> + The channel interface with the policy. + </tp:docstring> + </tp:member> + + <tp:member type="(uv)" tp:type="Access_Control" name="Active_Policy"> + <tp:docstring> + The active policy for this channel type. + </tp:docstring> + </tp:member> + </tp:mapping> + + <property name="SupportedPolicies" + tp:name-for-bindings="Supported_Policies" access="read" + type="a(asau)" tp:type="Supported_Policy[]"> + <tp:docstring> + The communication policies supported by this connection. + </tp:docstring> + </property> + + <property name="ActivePolicies" tp:name-for-bindings="Active_Policies" + access="read" type="a{s(uv)}" tp:type="Active_Policies_Map"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>The active communication policies on this + connection. Communication methods that are not in this + mapping are considered open.</p> + + <p>For example, to allow incoming calls only from contacts + buddy list, and to allow text messages from anyone, + the policy would look like this:</p> + + <pre> +{ + 'org.freedesktop.Telepathy.Channel.Type.Text' : Access_Control_Type_Open, + 'org.freedesktop.Telepathy.Channel.Type.Call' : Access_Control_Type_Publish_List +} + </pre> + + <p>Changes to this property are signalled by + <tp:member-ref>PolicyChanged</tp:member-ref>.</p> + </tp:docstring> + </property> + + <method name="SetPolicy" tp:name-for-bindings="Set_Policy"> + <tp:docstring> + Set a policy for a communication method (channel + type). Depending on the server or protocol, more than one + communication method could be bound to the same policy, if + calling this method on one channel type changes the policy on + another channel type, the <tp:member-ref>PolicyChanged</tp:member-ref> + signal that would follow would include all the channel types + that have an altered policy. + </tp:docstring> + <arg name="Channel_Type" direction="in" type="s" + tp:type="DBus_Interface"> + <tp:docstring> + The channel type to set the policy for. + </tp:docstring> + </arg> + <arg name="Policy" direction="in" type="(uv)" + tp:type="Access_Control"> + <tp:docstring> + The policy to set for this channel. + </tp:docstring> + </arg> + </method> + + <signal name="PolicyChanged" tp:name-for-bindings="Policy_Changed"> + <tp:docstring> + <tp:member-ref>ActivePolicies</tp:member-ref> has + changed. This occurs when the server unilaterally changed the + policy or <tp:member-ref>SetPolicy</tp:member-ref> has been + called. + </tp:docstring> + <arg name="Changed_Policies" type="a{s(uv)}" + tp:type="Active_Policies_Map"> + <tp:docstring> + A subset of the active policies that have changed. + </tp:docstring> + </arg> + </signal> + + <tp:struct name="Supported_Policy" array-name="Supported_Policy_List"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>The communication methods (channel types), and the policies + that can be applied to them. This is server and protocol + dependant.</p> + + <p>Grouped channel types will always have the same policy applied + to them.</p> + + <tp:rationale> + Different protocols have different limitations to the + granularity of communication policies. One protocol might be + able to set a different policy for VoIP calls and text chat, + while another protocol might only be able to set one policy + to both VoIP and text chat. + </tp:rationale> + </tp:docstring> + <tp:member type="as" tp:type="DBus_Interface[]" + name="Chanel_Types"> + <tp:docstring> + A list of channel interfaces that support these policies. + </tp:docstring> + </tp:member> + <tp:member type="au" tp:type="Access_Control_Type[]" + name="Supported Policies"> + <tp:docstring> + A list of supported policies. + </tp:docstring> + </tp:member> + </tp:struct> + + </interface> +</node> diff --git a/spec/Connection_Interface_Resources.xml b/spec/Connection_Interface_Resources.xml new file mode 100644 index 000000000..716089cd6 --- /dev/null +++ b/spec/Connection_Interface_Resources.xml @@ -0,0 +1,212 @@ +<?xml version="1.0" ?> +<node name="/Connection_Interface_Resources" + 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.Connection.Interface.Resources.DRAFT" + tp:causes-havoc="experimental"> + <tp:added version="0.21.1">(draft 1)</tp:added> + <tp:requires interface="org.freedesktop.Telepathy.Connection"/> + + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>An interface on connections to show contact attributes for + specific resources of a contact, if the protocol supports + multiple resources. Resources are most common in XMPP, hence the + name of this interface, but they are also present in MSN, where + they are called points of presence.</p> + + <p>When a client requests some attribute of a contact using its + handle on the connection, the CM uses an algorithm to choose the + most appropriate resource for the job. If there is only one + resource, then the choice is obvious. If, however, there is more + than one resource connected at any one time, the CM either + aggregates all appropriate information to return (in the case of + capabilities), or chooses one specific resource (in the case of + presence).</p> + + <p>Resources in XMPP have names, and it can be extremely useful + for the user to be able to know which resources of a contact are + online, providing the names are human-readable. Before now, + resources have not been exposed in Telepathy, but this interface + attempts to change this.</p> + + <p>When using this interface, it is a little like using the + <tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection.Interface" + >Contacts</tp:dbus-ref> interface, but only resource-specific + attributes are ever returned. The resource-specific contact + attributes are decided on by the CM, but XMPP's are listed + below:</p> + + <ul> + <li><tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection.Interface">SimplePresence/presence</tp:dbus-ref></li> + <li><tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection.Interface">ContactCapabilities/capabilities</tp:dbus-ref></li> + <li><tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection.Interface">ClientTypes/client-types</tp:dbus-ref></li> + </ul> + + </tp:docstring> + + <method name="GetResources" tp:name-for-bindings="Get_Resources"> + <tp:docstring> + Return the resource information of the given contacts. If any + of the contact attributes for specific resources of the given + contacts' are not known return immediately without waiting for + a reply. + </tp:docstring> + + <arg direction="in" name="Contacts" type="au" tp:type="Contact_Handle[]"> + <tp:docstring> + The contacts whose resource attributes should be returned. + </tp:docstring> + </arg> + + <arg direction="out" name="Resources" type="a{ua{sa{sv}}}" + tp:type="Resources_Attributes_Map"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>The contacts' resources and the contact attributes specific + to each resource. If contact attributes are not immediately + known, the behaviour is defined by the interface; the + attribute should either be omitted from the result or + replaced with a default value.</p> + + <p>For every contact handle passed into this method, it is + guaranteed that there will be a key in the returned map + that corresponds to said handle. If there is no information + regarding the contact the resource information map will be + empty.</p> + </tp:docstring> + </arg> + + <tp:possible-errors> + <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/> + <tp:error name="org.freedesktop.Telepathy.Error.InvalidHandle"/> + </tp:possible-errors> + </method> + + <tp:enum name="Resources_Human_Readability" type="u"> + <tp:enumvalue suffix="Never" value="0"> + <tp:docstring> + The resource string is never human-readable. + </tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="Maybe" value="1"> + <tp:docstring> + The resource string might be human-readable. + </tp:docstring> + </tp:enumvalue> + </tp:enum> + + <property name="ResourcesHumanReadable" type="u" access="read" + tp:type="Resources_Human_Readability" + tp:name-for-bindings="Resources_Human_Readable"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>Whether the resources returned from <tp:member-ref>GetResources</tp:member-ref> + are human readable or not.</p> + + <p>If the connection manager knows that all resource names are + automatically generated, then the resource strings mean + nothing to the user. Showing these strings in the UI would + be confusing, so by setting this to + Resources_Human_Readability_Never, the UI is advised not to + show resources.</p> + + <p>If on the other hand, all resources are set to nice names + (such as "office" or "home") then it might be wise to expose + these strings in the UI, so this property would be set to + Resources_Human_Readability_Maybe. This is the case in XMPP -- + most resources are set in a way that the user can deduce some + information from them. The absence of an Always enum value is + because in the case of XMPP, the resource string could be + partially human-readable (as on Google Talk, where a resource + of "home" is changed by the server to a unique string like + "home_1234fdec") or not at all human-readable.</p> + + </tp:docstring> + </property> + + <signal name="ResourcesUpdated" tp:name-for-bindings="Resources_Updated"> + <tp:docstring> + Emitted when a contact has a resource added or removed, or any + contact attribute for any resource changes. + </tp:docstring> + + <arg name="Contact" type="u" tp:type="Contact_Handle"> + <tp:docstring> + The contact. + </tp:docstring> + </arg> + <arg name="Resources" tp:type="Resource_Information_Map" + type="a{sa{sv}}"> + <tp:docstring> + The contact's resource information. All resource information + is given, not just the details which have changed. + </tp:docstring> + </arg> + </signal> + + <tp:mapping name="Resource_Information_Map"> + <tp:docstring> + A map of a contact's resources to their resource-specific + information. + </tp:docstring> + + <tp:member name="Key" type="s"> + <tp:docstring> + <p>The name of the resource.</p> + </tp:docstring> + </tp:member> + + <tp:member name="Contact_Attributes" type="a{sv}" + tp:type="Single_Contact_Attributes_Map"> + <tp:docstring> + A map of contact attributes whose data is specific to this + resource. + </tp:docstring> + </tp:member> + </tp:mapping> + + <tp:mapping name="Resources_Attributes_Map"> + <tp:docstring>Mapping returned by + <tp:member-ref>GetResources</tp:member-ref>, representing a + collection of Contacts, their resources, and their + resource-specific contact attributes.</tp:docstring> + + <tp:member type="u" tp:type="Contact_Handle" name="Contact"> + <tp:docstring> + A contact. + </tp:docstring> + </tp:member> + + <tp:member type="a{sa{sv}}" tp:type="Resource_Information_Map" + name="Resources"> + <tp:docstring> + A map of the contact's resources to their resource-specific + information. + </tp:docstring> + </tp:member> + </tp:mapping> + + <tp:contact-attribute name="resources" type="a{sa{sv}}" + tp:type="Resource_Information_Map"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>The same mapping that would be returned by + <tp:member-ref>GetResources</tp:member-ref> for this contact.</p> + </tp:docstring> + </tp:contact-attribute> + + </interface> +</node> +<!-- vim:set sw=2 sts=2 et ft=xml: --> diff --git a/spec/Connection_Interface_Simple_Presence.xml b/spec/Connection_Interface_Simple_Presence.xml index 5c7ae9787..7788161e1 100644 --- a/spec/Connection_Interface_Simple_Presence.xml +++ b/spec/Connection_Interface_Simple_Presence.xml @@ -349,17 +349,95 @@ </tp:enumvalue> </tp:enum> + <tp:enum name="Access_Control_Type" type="u" + array-name="Access_Control_Type_List"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>A type for communication access control. These control + policies are used in + <tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection.Interface">CommunicationPolicy.DRAFT</tp:dbus-ref> + as well as most rich presence interfaces.</p> + + <p>New interfaces should use this type, and NOT + <tp:type>Rich_Presence_Access_Control_Type</tp:type>.</p> + </tp:docstring> + <tp:enumvalue suffix="Whitelist" value="0"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>Only allow contacts that are in a certain whitelist.</p> + + <p>The associated variant + in <tp:type>Access_Control</tp:type> is a list of + <tp:type>Contact_Handle</tp:type> representing + the whitelist, with signature <code>au</code>.</p> + </tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="Publish_List" value="1"> + <tp:docstring> + Allow contacts in the user's 'publish' list. The associated + variant in <tp:type>Access_Control</tp:type> is ignored. + </tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="Group" value="2"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>Only allow contacts that are in a certain group.</p> + + <p>The associated variant in <tp:type>Access_Control</tp:type> is a + <tp:type>Group_Handle</tp:type> representing the permitted + group.</p> + </tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="Open" value="3"> + <tp:docstring> + Allow all contacts. The associated + variant in <tp:type>Access_Control</tp:type> is ignored. + </tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="Subscribe_Or_Publish_List" value="4"> + <tp:docstring> + Allow all contacts in the user's 'subscribe' or 'publish' + list. The associated variant in <tp:type>Access_Control</tp:type> is + ignored. + </tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="Closed" value="5"> + <tp:docstring> + Forbid all contacts. The associated variant in + <tp:type>Access_Control</tp:type> is ignored. + </tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="Not_Understood" value="6"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>The access control rule is too complex to be represented + in the current Telepathy API. The associated variant is + meaningless. Setting this mode is never valid; the + connection manager MUST raise an error if this is attempted.</p> + + <tp:rationale> + XEP-0016 Privacy Lists can easily produce access control + mechanisms that can't be expressed in a simpler API. We + need to be able to at least indicate that fact. + </tp:rationale> + + <p>The associated variant in <tp:type>Access_Control</tp:type> is + ignored.</p> + </tp:docstring> + </tp:enumvalue> + </tp:enum> + <tp:enum name="Rich_Presence_Access_Control_Type" type="u" array-name="Rich_Presence_Access_Control_Type_List"> - <tp:docstring> - A type of access control for Rich_Presence_Access_Control. - For most types, the exact access control is given by an associated - variant. + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>A type of access control for Rich_Presence_Access_Control. + For most types, the exact access control is given by an associated + variant.</p> <tp:rationale> - These are the access control types from XMPP publish/subscribe - (XEP-0060). + <p>These are the access control types from XMPP publish/subscribe + (XEP-0060).</p> </tp:rationale> + + <p><tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection.Interface">Location</tp:dbus-ref> + uses this for historical reasons, new interfaces will use + <tp:type>Access_Control_Type</tp:type>.</p> </tp:docstring> <tp:enumvalue suffix="Whitelist" value="0"> @@ -389,13 +467,42 @@ </tp:enumvalue> </tp:enum> + <tp:struct name="Access_Control"> + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>An access control mode for extended presence items like geolocation. + This type isn't actually used by the SimplePresence interface, but + it's included here so it can be referenced by rich presence + interfaces.</p> + + <p>New interfaces should use this type, and NOT + <tp:type>Rich_Presence_Access_Control</tp:type>.</p> + </tp:docstring> + + <tp:member name="Type" type="u" tp:type="Access_Control_Type"> + <tp:docstring> + The type of access control to apply. + </tp:docstring> + </tp:member> + <tp:member name="Detail" type="v"> + <tp:docstring> + Any additional information required by the Type. The required + type and semantics are defined for each + <tp:type>Access_Control_Type</tp:type>. + </tp:docstring> + </tp:member> + </tp:struct> + <tp:struct name="Rich_Presence_Access_Control"> - <tp:docstring> - An access control mode for extended presence items like geolocation. - This type isn't actually used by the SimplePresence interface, but - it's included here so it can be referenced by rich presence interfaces - such as <tp:dbus-ref - namespace="org.freedesktop.Telepathy.Connection.Interface">Location</tp:dbus-ref>. + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>An access control mode for extended presence items like geolocation. + This type isn't actually used by the SimplePresence interface, but + it's included here so it can be referenced by rich presence interfaces + such as <tp:dbus-ref + namespace="org.freedesktop.Telepathy.Connection.Interface">Location</tp:dbus-ref>.</p> + + <p><tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection.Interface">Location</tp:dbus-ref> + uses this for historical reasons, new interfaces will use + <tp:type>Access_Control_Type</tp:type>.</p> </tp:docstring> <tp:member name="Type" type="u" tp:type="Rich_Presence_Access_Control_Type"> diff --git a/spec/Makefile.am b/spec/Makefile.am index 40d58ee8b..d0849249e 100644 --- a/spec/Makefile.am +++ b/spec/Makefile.am @@ -68,6 +68,7 @@ EXTRA_DIST = \ Connection_Interface_Capabilities.xml \ Connection_Interface_Cellular.xml \ Connection_Interface_Client_Types.xml \ + Connection_Interface_Communication_Policy.xml \ Connection_Interface_Contact_Capabilities.xml \ Connection_Interface_Contact_Groups.xml \ Connection_Interface_Contact_Info.xml \ @@ -81,6 +82,7 @@ EXTRA_DIST = \ Connection_Interface_Privacy.xml \ Connection_Interface_Renaming.xml \ Connection_Interface_Requests.xml \ + Connection_Interface_Resources.xml \ Connection_Interface_Service_Point.xml \ Connection_Interface_Simple_Presence.xml \ Connection_Manager.xml \ diff --git a/spec/all.xml b/spec/all.xml index 96ed5de7d..2709a4124 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.0</tp:version> +<tp:version>0.21.1</tp:version> <tp:copyright>Copyright © 2005-2010 Collabora Limited</tp:copyright> <tp:copyright>Copyright © 2005-2010 Nokia Corporation</tp:copyright> @@ -53,6 +53,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</ <xi:include href="Connection_Interface_Capabilities.xml"/> <xi:include href="Connection_Interface_Cellular.xml"/> <xi:include href="Connection_Interface_Client_Types.xml"/> + <xi:include href="Connection_Interface_Communication_Policy.xml"/> <xi:include href="Connection_Interface_Contact_Capabilities.xml"/> <xi:include href="Connection_Interface_Contact_Groups.xml"/> <xi:include href="Connection_Interface_Contact_Info.xml"/> @@ -64,6 +65,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</ <xi:include href="Connection_Interface_Power_Saving.xml"/> <xi:include href="Connection_Interface_Presence.xml"/> <xi:include href="Connection_Interface_Renaming.xml"/> + <xi:include href="Connection_Interface_Resources.xml"/> <xi:include href="Connection_Interface_Requests.xml"/> <xi:include href="Connection_Interface_Service_Point.xml"/> <xi:include href="Connection_Interface_Simple_Presence.xml"/> |