summaryrefslogtreecommitdiffstats
path: root/secret-service/org.freedesktop.Secrets.xml
diff options
context:
space:
mode:
authorStef Walter <stef@memberwebs.com>2009-11-25 02:19:48 +0000
committerStef Walter <stefw@collabora.co.uk>2010-12-04 16:11:42 +0000
commit86f0c16391cead728560052a7e8c0aeec4a0cd61 (patch)
tree963aedaf4d6376dc4627d7088b81bab3332165a8 /secret-service/org.freedesktop.Secrets.xml
parent5a9ca68453f5491b26570361e51c4f2a8be57e57 (diff)
downloadxdg-specs-86f0c16391cead728560052a7e8c0aeec4a0cd61.tar.xz
Implement concept of prompt objects.
* Items that could require prompting, return an optional prompt object. * Prompt objects must then be acted upon. * Prompts can be dismissed. * Operation completes with the prompt, and signal is emitted. * When no prompt is needed, returns '/'
Diffstat (limited to 'secret-service/org.freedesktop.Secrets.xml')
-rw-r--r--secret-service/org.freedesktop.Secrets.xml205
1 files changed, 109 insertions, 96 deletions
diff --git a/secret-service/org.freedesktop.Secrets.xml b/secret-service/org.freedesktop.Secrets.xml
index 1053751..b645022 100644
--- a/secret-service/org.freedesktop.Secrets.xml
+++ b/secret-service/org.freedesktop.Secrets.xml
@@ -108,88 +108,75 @@
</method>
<method name="CreateCollection">
- <tp:docstring>Create a new collection with the specified access attributes.</tp:docstring>
-
- <arg name="label" type="s" direction="in">
- <tp:docstring>The display name of the new collection</tp:docstring>
+ <tp:docstring>Create a new collection with the specified properties.</tp:docstring>
+ <arg name="properties" type="a{sv}" direction="in">
+ <tp:docstring>Properties for the new collection.</tp:docstring>
</arg>
-
- <arg name="private" type="b" direction="in">
- <tp:docstring>Whether this is a private collection or not.</tp:docstring>
+ <arg name="collection" type="o" direction="out">
+ <tp:docstring>The new collection object, or '/' if prompting is necessary.</tp:docstring>
+ </arg>
+ <arg name="prompt" type="o" direction="out">
+ <tp:docstring>A prompt object if prompting is necessary, or '/' if no prompt was needed.</tp:docstring>
</arg>
- </method>
-
- <method name="LockService">
- <tp:docstring>
- Lock down the entire service. Remove secrets from memory, lock all collections etc...
- </tp:docstring>
</method>
<method name="SearchItems">
<tp:docstring>Find items in any collection.</tp:docstring>
-
<arg name="attributes" type="a{ss}" direction="in">
<tp:docstring>Find secrets in any collection.</tp:docstring>
</arg>
-
<arg name="unlocked" type="ao" direction="out">
<tp:docstring>Items found.</tp:docstring>
</arg>
-
<arg name="locked" type="ao" direction="out">
<tp:docstring>Items found that require authentication.</tp:docstring>
</arg>
</method>
- <signal name="CollectionCreated">
- <tp:docstring>A collection was created.</tp:docstring>
-
- <arg name="collection" type="o">
- <tp:docstring>Collection that was created</tp:docstring>
- </arg>
- </signal>
-
- <signal name="CollectionDeleted">
- <tp:docstring>A collection was deleted.</tp:docstring>
-
- <arg name="collection" type="o">
- <tp:docstring>Collection that was created</tp:docstring>
- </arg>
- </signal>
-
- <method name="BeginAuthenticate">
- <tp:docstring>Start asynchronous authentication of objects for the caller.</tp:docstring>
-
+ <method name="Unlock">
+ <tp:docstring>Unlock the specified objects.</tp:docstring>
<arg name="objects" type="ao" direction="in">
- <tp:docstring>Objects to authenticate or unlock.</tp:docstring>
+ <tp:docstring>Objects to unlock.</tp:docstring>
</arg>
-
- <arg name="window-id" type="s" direction="in">
- <tp:docstring>Platform specific window handle to use for showing any prompts.</tp:docstring>
+ <arg name="unlocked" type="ao" direction="out">
+ <tp:docstring>Objects that were unlocked without a prompt.</tp:docstring>
+ </arg>
+ <arg name="prompt" type="o" direction="out">
+ <tp:docstring>A prompt object which can be used to unlock the remaining objects, or the special value '/' when no prompt is necessary.</tp:docstring>
</arg>
</method>
- <method name="CompleteAuthenticate">
- <tp:docstring>Complete asynchronous authentication of objects for the caller.</tp:docstring>
-
+ <method name="Lock">
+ <tp:docstring>Lock the items.</tp:docstring>
<arg name="objects" type="ao" direction="in">
- <tp:docstring>Objects to authenticate or unlock.</tp:docstring>
+ <tp:docstring>Objects to lock.</tp:docstring>
</arg>
-
- <arg name="authenticated" type="ao" direction="in">
- <tp:docstring>Objects that were successfully authenticated.</tp:docstring>
+ <arg name="locked" type="ao" direction="out">
+ <tp:docstring>Objects that were locked without a prompt.</tp:docstring>
+ </arg>
+ <arg name="Prompt" type="o" direction="out">
+ <tp:docstring>A prompt to lock the objects, or the special value '/' when no prompt is necessary.</tp:docstring>
</arg>
</method>
- <signal name="Authenticated">
- <tp:docstring>An object (collection or item) was authenticated.</tp:docstring>
+ <signal name="CollectionCreated">
+ <tp:docstring>A collection was created.</tp:docstring>
+ <arg name="collection" type="o">
+ <tp:docstring>Collection that was created</tp:docstring>
+ </arg>
+ </signal>
- <arg name="object" type="o">
- <tp:docstring>The object that was authenticated.</tp:docstring>
+ <signal name="CollectionDeleted">
+ <tp:docstring>A collection was deleted.</tp:docstring>
+ <arg name="collection" type="o">
+ <tp:docstring>Collection that was deleted.</tp:docstring>
</arg>
+ </signal>
- <arg name="success" type="b">
- <tp:docstring>Whether the object was successfully unlocked.</tp:docstring>
+ <signal name="CollectionChanged">
+ <tp:docstring>A collection was changed.</tp:docstring>
+ <arg name="collection" type="o">
+ <tp:docstring>Collection that was changed.</tp:docstring>
</arg>
</signal>
@@ -213,10 +200,6 @@
<tp:docstring>Items in this collection.</tp:docstring>
</property>
- <property name="Private" type="s" access="read">
- <tp:docstring>Whether this is a private collection or not.</tp:docstring>
- </property>
-
<property name="Label" type="s" access="readwrite">
<tp:docstring>The displayable label of this collection.</tp:docstring>
</property>
@@ -237,6 +220,9 @@
<method name="Delete">
<tp:docstring>Delete this collection.</tp:docstring>
+ <arg name="prompt" type="o" direction="out">
+ <tp:docstring>A prompt to delete the collection, or the special value '/' when no prompt is necessary.</tp:docstring>
+ </arg>
</method>
<method name="SearchItems">
@@ -250,32 +236,23 @@
</method>
<method name="CreateItem">
-
- <tp:docstring>
- Create an item with the given attributes, secret and label. If replace is set,
- then it replaces an item already present with the same values for the attributes.
- </tp:docstring>
-
- <arg name="attributes" type="a{ss}" direction="in">
- <tp:docstring>The lookup attributes for the new item.</tp:docstring>
- </arg>
-
- <arg name="label" type="s" direction="in">
- <tp:docstring>The label for the new item.</tp:docstring>
+ <tp:docstring>Create an item with the given attributes, secret and label. If replace is set, then it replaces an item already present with the same values for the attributes.</tp:docstring>
+ <arg name="properties" type="a{sv}" direction="in">
+ <tp:docstring>The properties for the new item.</tp:docstring>
</arg>
-
<arg name="replace" type="b" direction="in">
<tp:docstring>Whether to replace an item with the same attributes or not.</tp:docstring>
</arg>
-
<arg name="item" type="o" direction="out">
- <tp:docstring>The new item, or previous item if replaced.</tp:docstring>
+ <tp:docstring>The item created, or the special value '/' if a prompt is necessary.</tp:docstring>
+ </arg>
+ <arg name="prompt" type="o" direction="out">
+ <tp:docstring>A prompt object, or the special value '/' if no prompt is necessary.</tp:docstring>
</arg>
</method>
<signal name="ItemCreated">
<tp:docstring>A new item in this collection was created.</tp:docstring>
-
<arg name="item" type="o">
<tp:docstring>The item that was created.</tp:docstring>
</arg>
@@ -335,6 +312,9 @@
<method name="Delete">
<tp:docstring>Delete this item.</tp:docstring>
+ <arg name="Prompt" type="o" direction="out">
+ <tp:docstring>A prompt object, or the special value '/' if no prompt is necessary.</tp:docstring>
+ </arg>
</method>
</interface>
@@ -377,37 +357,31 @@
</arg>
</method>
- <method name="GetSecret">
- <tp:docstring>Retrieve the secret for this item.</tp:docstring>
-
- <arg name="item" type="o" direction="in">
- <tp:docstring>The path to the secret we want to retrieve.</tp:docstring>
- </arg>
-
- <arg name="secret" type="(sayay)" 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="item" type="o" direction="in">
- <tp:docstring>The path to the secret we want to retrieve.</tp:docstring>
- </arg>
+ <method name="GetSecret">
+ <tp:docstring>Retrieve the secret for this item.</tp:docstring>
+ <arg name="item" type="o" direction="in">
+ <tp:docstring>The path to the secret we want to retrieve.</tp:docstring>
+ </arg>
+ <arg name="secret" type="(sayay)" tp:type="Secret" direction="out">
+ <tp:docstring>The secret retrieved.</tp:docstring>
+ </arg>
+ </method>
- <arg name="secret" type="(sayay)" tp:type="Secret" direction="in">
- <tp:docstring>The secret retrieved.</tp:docstring>
- </arg>
- </method>
+ <method name="SetSecret">
+ <tp:docstring>Set the secret for this item.</tp:docstring>
+ <arg name="item" type="o" direction="in">
+ <tp:docstring>The path to the secret we want to retrieve.</tp:docstring>
+ </arg>
+ <arg name="secret" type="(sayay)" tp:type="Secret" direction="in">
+ <tp:docstring>The secret retrieved.</tp:docstring>
+ </arg>
+ </method>
<method name="GetSecrets">
<tp:docstring>Retrieve multiple secrets from different items.</tp:docstring>
-
<arg name="items" type="ao" direction="in">
<tp:docstring>Items to get secrets for.</tp:docstring>
</arg>
-
<arg name="secrets" type="a{o(sayay)}" direction="out" tp:type="ObjectPath_Secret_Map">
<tp:docstring>Secrets for the items.</tp:docstring>
</arg>
@@ -417,4 +391,43 @@
</node>
+ <!--
+ * ======================================================================================
+ * PROMPT INTERFACE
+ *
+ -->
+
+ <node name="/org/freedesktop/Secrets/prompts/pppp">
+
+ <interface name="org.freedesktop.Secrets.Prompt">
+ <tp:docstring>A prompt necessary to complete an operation.</tp:docstring>
+
+ <method name="Prompt">
+ <tp:docstring>Perform the prompt.</tp:docstring>
+ <arg name="window-id" type="s" direction="in">
+ <tp:docstring>Platform specific window handle to use for
+ showing the prompt.</tp:docstring>
+ </arg>
+ </method>
+
+ <method name="Dismiss">
+ <tp:docstring>Dismiss the prompt.</tp:docstring>
+ </method>
+
+ <signal name="Completed">
+ <tp:docstring>The prompt and operation completed.</tp:docstring>
+ <arg name="result" type="v">
+ <tp:docstring>The possibly empty, operation specific,
+ result.</tp:docstring>
+ </arg>
+ <arg name="dismissed" type="b">
+ <tp:docstring>Whether the prompt and operation were dismissed
+ or not.</tp:docstring>
+ </arg>
+ </signal>
+
+ </interface>
+
+ </node>
+
</tp:spec>