summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2012-02-14 12:09:20 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2012-02-14 12:09:20 +0000
commit0c1a9c33708c72d334609f0e6f49f4647e868bfd (patch)
tree88b6c559f06c648adcf8b54d800d5e20fa20ac18
parent0f3066b14987e3085c5ca59f5e03977aa44ec369 (diff)
Account.Supersedes: addaccount-supersedes
In the process, define how arrays of object paths are serialized in a .manager file, since MC uses the same format for account storage. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=42814 Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
-rw-r--r--spec/Account.xml31
-rw-r--r--spec/Account_Manager.xml2
-rw-r--r--spec/Connection_Manager.xml7
3 files changed, 37 insertions, 3 deletions
diff --git a/spec/Account.xml b/spec/Account.xml
index 13b97f4b..fff0232d 100644
--- a/spec/Account.xml
+++ b/spec/Account.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" ?>
<node name="/Account"
xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
- <tp:copyright>Copyright © 2008-2009 Collabora Ltd.</tp:copyright>
+ <tp:copyright>Copyright © 2008-2012 Collabora Ltd.</tp:copyright>
<tp:copyright>Copyright © 2008-2009 Nokia Corporation</tp:copyright>
<tp:license xmlns="http://www.w3.org/1999/xhtml">
<p>This library is free software; you can redistribute it and/or
@@ -713,6 +713,35 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</tp:docstring>
</property>
+ <property name="Supersedes" tp:name-for-bindings="Supersedes"
+ type="ao" access="readwrite">
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>A list of the object paths of formerly-used accounts which are
+ superseded by this one.</p>
+
+ <tp:rationale>
+ <p>For instance, if an account is migrated from one connection
+ manager implementation to another, or even from one protocol
+ to another (for instance formerly-proprietary services which
+ can now be accessed via XMPP), log storage services could
+ look for logs under all of the superseded object paths as well
+ as the new object path.</p>
+
+ <p>This is a list because a single user-visible account could be
+ migrated more than once.</p>
+ </tp:rationale>
+
+ <p>If the Account Manager implementation performs an account migration
+ automatically, it SHOULD set this property. If a client performs
+ an account migration, it SHOULD set this property via
+ via the Properties argument of <tp:dbus-ref
+ namespace="ofdT.AccountManager">CreateAccount</tp:dbus-ref>
+ when creating the migrated account. In either case, the value
+ SHOULD include the old account's path, and every path from
+ the old account's Supersedes property.</p>
+ </tp:docstring>
+ </property>
+
</interface>
</node>
<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/spec/Account_Manager.xml b/spec/Account_Manager.xml
index 52cd42a1..defa074f 100644
--- a/spec/Account_Manager.xml
+++ b/spec/Account_Manager.xml
@@ -145,6 +145,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<tp:dbus-ref
namespace="org.freedesktop.Telepathy.Account">ConnectAutomatically</tp:dbus-ref>,
<tp:dbus-ref
+ namespace="ofdT.Account">Supersedes</tp:dbus-ref>,
+ <tp:dbus-ref
namespace="org.freedesktop.Telepathy.Account">RequestedPresence</tp:dbus-ref>
and
<tp:dbus-ref
diff --git a/spec/Connection_Manager.xml b/spec/Connection_Manager.xml
index 10ade57e..20820ad4 100644
--- a/spec/Connection_Manager.xml
+++ b/spec/Connection_Manager.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" ?>
<node name="/Connection_Manager" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
- <tp:copyright>Copyright (C) 2005-2008 Collabora Limited</tp:copyright>
+ <tp:copyright>Copyright (C) 2005-2012 Collabora Limited</tp:copyright>
<tp:copyright>Copyright (C) 2005-2008 Nokia Corporation</tp:copyright>
<tp:copyright>Copyright (C) 2006 INdT</tp:copyright>
<tp:license xmlns="http://www.w3.org/1999/xhtml">
@@ -603,7 +603,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
<dd>ASCII decimal integer, optionally prefixed with "-"</dd>
<dt>d (double-precision floating point)</dt>
<dd>ASCII decimal number</dd>
- <dt>as (array of string)</dt>
+ <dt>as (array of string), ao (array of object path)</dt>
<dd>A sequence of UTF-8 strings each followed by a semicolon, with
any semicolons they contain escaped with a backslash
(the "localestrings" type from the Desktop Entry Specification)</dd>
@@ -626,6 +626,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
CMs with no .manager file was not explicitly required.</tp:changed>
<tp:changed version="0.17.16">Prior to version 0.17.16 the serialization
of string arrays (signature 'as') was not defined</tp:changed>
+ <tp:changed version="0.UNRELEASED">Prior to version 0.UNRELEASED the
+ serialization of object-path arrays (signature 'ao') was not
+ defined</tp:changed>
</interface>
</node>
<!-- vim:set sw=2 sts=2 et ft=xml: -->