diff options
-rw-r--r-- | secret-service/Makefile | 4 | ||||
-rw-r--r-- | secret-service/org.freedesktop.Secrets.xml | 30 | ||||
-rw-r--r-- | secret-service/specification.xml | 24 | ||||
-rw-r--r-- | secret-service/tools/spec-to-docbook.xsl | 3 |
4 files changed, 55 insertions, 6 deletions
diff --git a/secret-service/Makefile b/secret-service/Makefile index 27084aa..ee4db35 100644 --- a/secret-service/Makefile +++ b/secret-service/Makefile @@ -8,3 +8,7 @@ html/index.html: reference.xml docbook-params.xsl specification.xml reference.xml: tools/spec-to-docbook.xsl $(SPEC) xsltproc tools/spec-to-docbook.xsl $(SPEC) > $@ + +clean: + rm -f reference.xml + rm -f html/*.html diff --git a/secret-service/org.freedesktop.Secrets.xml b/secret-service/org.freedesktop.Secrets.xml index def4f62..7d23c78 100644 --- a/secret-service/org.freedesktop.Secrets.xml +++ b/secret-service/org.freedesktop.Secrets.xml @@ -38,7 +38,7 @@ <!-- * ====================================================================================== * SECRET STRUCT - * Signature: (oayay) + * Signature: (oayays) * --> @@ -53,6 +53,9 @@ <tp:member type="ay" name="value"> <tp:docstring>Possibly encoded secret value</tp:docstring> </tp:member> + <tp:member type="s" name="content_type"> + <tp:docstring>The content type of the secret. For example: 'text/plain; charset=utf8'</tp:docstring> + </tp:member> </tp:struct> <tp:mapping name="ObjectPath_Secret_Map"> @@ -60,7 +63,7 @@ <tp:member type="o" name="Key"> <tp:docstring>D-Bus object-path</tp:docstring> </tp:member> - <tp:member type="(oayay)" name="Value" tp:type="Secret"> + <tp:member type="(oayays)" name="Value" tp:type="Secret"> <tp:docstring>A secret</tp:docstring> </tp:member> </tp:mapping> @@ -118,6 +121,21 @@ properties = { "Label": "MyCollection" } </para> </tp:docstring> </arg> + <arg name="alias" type="s" direction="in"> + <tp:docstring xmlns:docbook="http://docbook.org/ns/docbook"> + <para> + If creating this connection for a well known alias then a string like + <literal>default</literal>. If an collection with this well-known alias already + exists, then that collection will be returned instead of creating a new + collection. Any readwrite properties provided to this function will be set on + the collection. + </para> + <para> + Set this to an empty string if the new collection should not be associated with a + well known alias. + </para> + </tp:docstring> + </arg> <arg name="collection" type="o" direction="out"> <tp:docstring>The new collection object, or '/' if prompting is necessary.</tp:docstring> </arg> @@ -173,7 +191,7 @@ properties = { "Label": "MyCollection" } <arg name="session" type="o" direction="in"> <tp:docstring>The session to use to encode the secrets.</tp:docstring> </arg> - <arg name="secrets" type="a{o(oayay)}" direction="out" tp:type="ObjectPath_Secret_Map"> + <arg name="secrets" type="a{o(oayays)}" direction="out" tp:type="ObjectPath_Secret_Map"> <tp:docstring>Secrets for the items.</tp:docstring> </arg> </method> @@ -310,7 +328,7 @@ properties = { </para> </tp:docstring> </arg> - <arg name="secret" type="(oayay)" tp:type="Secret" direction="in"> + <arg name="secret" type="(oayays)" tp:type="Secret" direction="in"> <tp:docstring>The secret to store in the item, encoded with the included session.</tp:docstring> </arg> <arg name="replace" type="b" direction="in"> @@ -395,14 +413,14 @@ properties = { <arg name="session" type="o" direction="in"> <tp:docstring>The session to use to encode the secret.</tp:docstring> </arg> - <arg name="secret" type="(oayay)" tp:type="Secret" direction="out"> + <arg name="secret" type="(oayays)" tp:type="Secret" direction="out"> <tp:docstring>The secret retrieved.</tp:docstring> </arg> </method> <method name="SetSecret"> <tp:docstring>Set the secret for this item.</tp:docstring> - <arg name="secret" type="(oayay)" tp:type="Secret" direction="in"> + <arg name="secret" type="(oayays)" tp:type="Secret" direction="in"> <tp:docstring>The secret to set, encoded for the included session.</tp:docstring> </arg> </method> diff --git a/secret-service/specification.xml b/secret-service/specification.xml index a6a1b76..af73d7c 100644 --- a/secret-service/specification.xml +++ b/secret-service/specification.xml @@ -157,7 +157,31 @@ information. In this case, a <link linkend='prompts'>prompt object</link> is returned. It must be <link linkend='org.freedesktop.Secret.Prompt.Prompt'>acted upon</link> in order for the collection to be deleted.</para> + </chapter> + <chapter xml:id="aliases"> + <title>Aliases</title> + + <para>Collections may be accessed via well known aliases. For example an alias + called <literal>default</literal> tells applications which is the default + collection to store secrets.</para> + + <para>The aliased collections will be available at a + <link linkend='object-paths'>well-known DBus object path</link>.</para> + + <para>If an application needs to create a collection with a given alias, this can + be done in a race free fashion by specifying the alias parameter of the + <link linkend='org.freedesktop.Secret.Service.CreateCollection'>CreateCollection()</link> + method on the service interface. If a collection with that alias already exists, + then it will be returned instead of creating a new one.</para> + + <para>For applications like password managers it can be useful to allow the user to + configure which collection is associated with which well known alias. To alias or + unalias a collection use the + <link linkend='org.freedesktop.Secret.Service.SetAlias'>SetAlias()</link> method on the + service interface. Use the + <link linkend='org.freedesktop.Secret.Service.ReadAlias'>ReadAlias()</link> method on the + service interface to discover which collection is associated with a given alias.</para> </chapter> <chapter xml:id="lookup-attributes"> diff --git a/secret-service/tools/spec-to-docbook.xsl b/secret-service/tools/spec-to-docbook.xsl index 14d5b24..a6b18a3 100644 --- a/secret-service/tools/spec-to-docbook.xsl +++ b/secret-service/tools/spec-to-docbook.xsl @@ -1141,6 +1141,8 @@ </xsl:if> <xsl:choose> <xsl:when test="not(@direction)"/> + <xsl:when test="@direction='in'"/> + <!-- This doesn't work with the DTD (see comment in DTD) <xsl:when test="@direction='in'"> <xsl:message terminate="no"> <xsl:text>INFO: an arg of signal </xsl:text> @@ -1148,6 +1150,7 @@ <xsl:text> has unnecessary direction 'in'</xsl:text> </xsl:message> </xsl:when> + --> <xsl:otherwise> <xsl:message terminate="yes"> <xsl:text>ERR: an arg of signal </xsl:text> |