[gnome-keyring/dbus-api] Spec out the remainder of the stuff in the api.
- From: Stefan Walter <stefw src gnome org>
- To: svn-commits-list gnome org
- Subject: [gnome-keyring/dbus-api] Spec out the remainder of the stuff in the api.
- Date: Sat, 20 Jun 2009 20:29:11 -0400 (EDT)
commit c7e43d42c7671086be24824d63e7c65d37f53a0a
Author: Stef Walter <stef memberwebs com>
Date: Fri Jun 19 23:18:55 2009 +0000
Spec out the remainder of the stuff in the api.
Completed basic Collection, Item, Service, Session and Secret
interfaces and structures.
daemon/secrets/api/.gitignore | 6 +-
daemon/secrets/api/Makefile.am | 3 +
.../api/org.freedesktop.Secrets.Collection.xml | 113 +++++++++++---------
.../secrets/api/org.freedesktop.Secrets.Item.xml | 65 +++++++-----
.../api/org.freedesktop.Secrets.Service.xml | 70 ++++++++-----
.../api/org.freedesktop.Secrets.Session.xml | 73 ++++++++++---
6 files changed, 207 insertions(+), 123 deletions(-)
---
diff --git a/daemon/secrets/api/.gitignore b/daemon/secrets/api/.gitignore
index f8a6b32..3c78484 100644
--- a/daemon/secrets/api/.gitignore
+++ b/daemon/secrets/api/.gitignore
@@ -1,4 +1,8 @@
*bindings*.?
*service*.?
+*collection*.?
+*session*.?
+*item*.?
+*secret*.?
*.list
-docbook-interface-*
+docbook-*
diff --git a/daemon/secrets/api/Makefile.am b/daemon/secrets/api/Makefile.am
index f7eeb24..b5d6816 100644
--- a/daemon/secrets/api/Makefile.am
+++ b/daemon/secrets/api/Makefile.am
@@ -16,7 +16,10 @@ secrets-built-sources.stamp : Makefile.am $(INTERFACE_DEFS)
eggdbus-binding-tool \
--namespace "Secrets" \
--dbus-namespace "org.freedesktop.Secrets" \
+ --introspection-xml org.freedesktop.Secrets.Collection.xml \
+ --introspection-xml org.freedesktop.Secrets.Item.xml \
--introspection-xml org.freedesktop.Secrets.Service.xml \
+ --introspection-xml org.freedesktop.Secrets.Session.xml \
--stamp-file $@ \
$(NULL)
diff --git a/daemon/secrets/api/org.freedesktop.Secrets.Collection.xml b/daemon/secrets/api/org.freedesktop.Secrets.Collection.xml
index 927034f..e2dbd18 100644
--- a/daemon/secrets/api/org.freedesktop.Secrets.Collection.xml
+++ b/daemon/secrets/api/org.freedesktop.Secrets.Collection.xml
@@ -1,71 +1,80 @@
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
-<!--
-/org/freedesktop/secrets/default
-/org/freedesktop/secrets/login
-/org/freedesktop/secrets/<collection>
--->
+<node name="/org/freedesktop/Secrets">
-<node name="/org/freedesktop/secrets/collection/xxxx">
<interface name="org.freedesktop.Secrets.Collection">
- <<< created signal >>>
- <<< deleted signal >>>
+ <property name="Label" type="s" access="readwrite">
+ <annotation value="The displayable label of this collection." name="org.gtk.EggDBus.DocString"/>
+ </property>
- <!--
- * The displayable label of the collection.
- -->
- <property name="Label" type="s" access="readwrite"/>
+ <property name="Locked" type="s" access="read">
+ <annotation value="Whether the correction is locked or not." name="org.gtk.EggDBus.DocString"/>
+ </property>
- <!--
- * Whether the correction is locked or not.
- -->
- <property name="Locked" type="s" access="read"/>
-
- <!--
- * Lock this collection.
- -->
- <method name="Lock">
- </method>
-
- <!--
- * Unlock the collection. This method may block for
- * an indeterminate amount of time while authenticating.
- -->
- <method name="Unlock">
- </method>
-
- <!--
- * Delete this collection.
- -->
<method name="Delete">
+ <annotation value="Delete this collection." name="org.gtk.EggDBus.DocString"/>
</method>
+
+ <property name="Items" type="ao" access="read">
+ <annotation value="Items in this collection." name="org.gtk.EggDBus.DocString"/>
+ </property>
- <!--
- * List the object paths of all items in this collection
- * If fields contains values then items returned will be
- * restricted by those.
- -->
- <method name="ListItems">
- <arg name="fields" type="e{ss}" direction="in"/>
- <arg name="results" type="ao" direction="out"/>
+ <method name="SearchItems">
+ <annotation value="Search for items in this collection matching the lookup fields." name="org.gtk.EggDBus.DocString"/>
+ <arg name="fields" type="a{ss}" direction="in">
+ <annotation value="Fields to match." name="org.gtk.EggDBus.DocString"/>
+ </arg>
+ <arg name="results" type="ao" direction="out">
+ <annotation value="Items that matched the fields." name="org.gtk.EggDBus.DocString"/>
+ </arg>
</method>
- <!--
- * Create an item with the given fields, secret and label.
- * If replace is set, then it replaces an item already
- * present with the same fields.
- *
- -->
<method name="CreateItem">
- <arg name="fields" type="e{ss}" direction="in"/>
- <arg name="secret" type="(ss)" direction="in"/>
- <arg name="label" type="s" direction="in"/>
- <arg name="replace" type="b" direction="in"/>
- <arg name="result" type="o" direction="out"/>
+ <annotation value="Create an item with the given fields, secret and label.
+ If replace is set, then it replaces an item already
+ present with the same values for the fields."
+ name="org.gtk.EggDBus.DocString"/>
+
+ <arg name="fields" type="a{ss}" direction="in">
+ <annotation value="The lookup fields for the new item." name="org.gtk.EggDBus.DocString"/>
+ </arg>
+
+ <arg name="secret" type="(sayay)" direction="in">
+ <annotation value="The secret to store in the new item." name="org.gtk.EggDBus.DocString"/>
+ <annotation value="Secret" name="org.gtk.EggDBus.Type"/>
+ </arg>
+
+ <arg name="label" type="s" direction="in">
+ <annotation value="The label for the new item." name="org.gtk.EggDBus.DocString"/>
+ </arg>
+
+ <arg name="replace" type="b" direction="in">
+ <annotation value="Whether to replace an item with the same fields or not." name="org.gtk.EggDBus.DocString"/>
+ </arg>
+
+ <arg name="item" type="o" direction="out">
+ <annotation value="The new item, or previous item if replaced." name="org.gtk.EggDBus.DocString"/>
+ </arg>
</method>
+ <signal name="CreatedItem">
+ <annotation value="A new item in this collection was created." name="org.gtk.EggDBus.DocString"/>
+
+ <arg name="item" type="o">
+ <annotation value="The item that was created." name="org.gtk.EggDBus.DocString"/>
+ </arg>
+ </signal>
+
+ <signal name="DeletedItem">
+ <annotation value="An item in this collection was deleted." name="org.gtk.EggDBus.DocString"/>
+
+ <arg name="item" type="o">
+ <annotation value="The item that was deleted." name="org.gtk.EggDBus.DocString"/>
+ </arg>
+ </signal>
+
</interface>
</node>
diff --git a/daemon/secrets/api/org.freedesktop.Secrets.Item.xml b/daemon/secrets/api/org.freedesktop.Secrets.Item.xml
index d4b7c27..ee91aab 100644
--- a/daemon/secrets/api/org.freedesktop.Secrets.Item.xml
+++ b/daemon/secrets/api/org.freedesktop.Secrets.Item.xml
@@ -1,34 +1,47 @@
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
-<!--
-
--->
-
-<node name="/org/freedesktop/secrets/collection/xxxx/xxxx">
+<node name="/org/freedesktop/Secrets">
+
+ <!-- Secret Struct. Signature: (sayay) -->
+ <annotation value="Secret" name="org.gtk.EggDBus.DeclareStruct">
+ <annotation value="The #Secret type holds a (possibly encoded) secret." name="org.gtk.EggDBus.DocString"/>
+
+ <annotation value="String:algorithm" name="org.gtk.EggDBus.Struct.Member">
+ <annotation value="Algorithm used to encode the secret value." name="org.gtk.EggDBus.DocString"/>
+ </annotation>
+
+ <annotation value="Array<Byte>:parameters" name="org.gtk.EggDBus.Struct.Member">
+ <annotation value="Algorithm dependent parameters for secret value encoding." name="org.gtk.EggDBus.DocString"/>
+ </annotation>
+
+ <annotation value="Array<Byte>:value" name="org.gtk.EggDBus.Struct.Member">
+ <annotation value="Possibly encoded secret value." name="org.gtk.EggDBus.DocString"/>
+ </annotation>
+ </annotation>
+
<interface name="org.freedesktop.Secrets.Item">
- <<< changed signal >>>
-
- <!--
- * The lookup fields for this item.
- -->
- <property name="Fields" type="e{ss}" access="readwrite"/>
-
- <!--
- * The displayable label for this item.
- -->
- <property name="Label" type="s" access="readwrite"/>
-
- <!--
- * The secret, usually transferred encrypted.
- -->
- <property name="Secret" type="(ss)" access="readwrite"/>
-
- <!--
- * Delete this item.
- -->
- <method name="Delete"/>
+ <signal name="changed">
+ <annotation value="The item changed in some way." name="org.gtk.EggDBus.DocString"/>
+ </signal>
+
+ <property name="Fields" type="a{ss}" access="readwrite">
+ <annotation value="The lookup fields for this item." name="org.gtk.EggDBus.DocString"/>
+ </property>
+
+ <property name="Label" type="s" access="readwrite">
+ <annotation value="The displayable label for this item." name="org.gtk.EggDBus.DocString"/>
+ </property>
+
+ <property name="Secret" type="(sayay)" access="readwrite">
+ <annotation value="The secret, usually transferred encrypted." name="org.gtk.EggDBus.DocString"/>
+ <annotation value="Secret" name="org.gtk.EggDBus.Type"/>
+ </property>
+
+ <method name="Delete">
+ <annotation value="Delete this item." name="org.gtk.EggDBus.DocString"/>
+ </method>
</interface>
</node>
diff --git a/daemon/secrets/api/org.freedesktop.Secrets.Service.xml b/daemon/secrets/api/org.freedesktop.Secrets.Service.xml
index 2cdee95..efb81a4 100644
--- a/daemon/secrets/api/org.freedesktop.Secrets.Service.xml
+++ b/daemon/secrets/api/org.freedesktop.Secrets.Service.xml
@@ -7,72 +7,90 @@
* are analogous to the gnome-keyring 'keyrings'.
-->
-<node name="/org/freedesktop/secrets">
+<node name="/org/freedesktop/Secrets">
+
<interface name="org.freedesktop.Secrets.Service">
- <method name="CreateSession">
- <annotation name="org.gtk.EggDBus.DocString"
- value="Create a unique session for the caller application."/>
+ <method name="OpenSession">
+ <annotation value="Open a unique session for the caller application." name="org.gtk.EggDBus.DocString"/>
<arg name="result" type="o" direction="out">
- <annotation name="org.gtk.EggDBus.DocString"
- value="The object path of the session."/>
+ <annotation value="The object path of the session." name="org.gtk.EggDBus.DocString"/>
</arg>
</method>
<method name="ListCollections">
- <annotation name="org.gtk.EggDBus.DocString"
- value="List the object paths of all collections (ie: keyrings)"/>
+ <annotation value="List the object paths of all collections (ie: keyrings)" name="org.gtk.EggDBus.DocString"/>
<arg name="result" type="ao" direction="out">
- <annotation name="org.gtk.EggDBus.DocString"
- value="An array of object paths"/>
+ <annotation value="An array of object paths of collections" name="org.gtk.EggDBus.DocString"/>
</arg>
</method>
<method name="CreateCollection">
- <annotation name="org.gtk.EggDBus.DocString"
- value="Create a new collection with the specified access attributes"/>
+ <annotation value="Create a new collection with the specified access attributes" name="org.gtk.EggDBus.DocString"/>
<arg name="display_name" type="s" direction="in">
- <annotation name="org.gtk.EggDBus.DocString"
- value="The display name of the new collection"/>
+ <annotation value="The display name of the new collection" name="org.gtk.EggDBus.DocString"/>
</arg>
<!-- TODO: Access rules need more thought. Unimplemented -->
<arg name="access_rules" type="as" direction="in">
- <annotation name="org.gtk.EggDBus.DocString"
- value="The access rules of the new collection"/>
+ <annotation value="The access rules of the new collection" name="org.gtk.EggDBus.DocString"/>
</arg>
</method>
<property name="DefaultCollection" type="o" access="readwrite">
- <annotation name="org.gtk.EggDBus.DocString"
- value="The object path of the default collection."/>
+ <annotation value="The object path of the default collection." name="org.gtk.EggDBus.DocString"/>
</property>
<method name="LockService">
- <annotation name="org.gtk.EggDBus.DocString"
- value="Lock down the entire service. Remove secrets from memory, lock all collections etc..."/>
+ <annotation value="Lock down the entire service. Remove secrets from memory, lock all collections etc..." name="org.gtk.EggDBus.DocString"/>
</method>
- <method name="FindSecrets">
- <annotation name="org.gtk.EggDBus.DocString"
- value="Find secrets in any collection."/>
+ <method name="SearchCollections">
+ <annotation value="Find items in any collection." name="org.gtk.EggDBus.DocString"/>
<arg name="fields" type="a{ss}" direction="in">
+ <annotation value="Find secrets in any collection." name="org.gtk.EggDBus.DocString"/>
</arg>
- <arg name="results" type="a{os}" direction="out">
+ <arg name="results" type="ao" direction="out">
+ <annotation value="Items found." name="org.gtk.EggDBus.DocString"/>
+ </arg>
+
+ <arg name="locked" type="ao" direction="out">
+ <annotation value="Items found that require authentication." name="org.gtk.EggDBus.DocString"/>
+ </arg>
+ </method>
+
+ <method name="RetrieveSecrets">
+ <annotation value="Retrieve multiple secrets from different items." name="org.gtk.EggDBus.DocString"/>
+
+ <arg name="items" type="ao" direction="in">
+ <annotation value="Items to get secrets for." name="org.gtk.EggDBus.DocString"/>
+ </arg>
+
+ <arg name="secrets" type="a(sayay)" direction="out">
+ <annotation value="Secrets for the items, in order." name="org.gtk.EggDBus.DocString"/>
+ <annotation value="Array<Secret>" name="org.gtk.EggDBus.Type"/>
</arg>
</method>
<signal name="CollectionCreated">
- <arg name="collection" type="o"/>
+ <annotation value="A collection was created." name="org.gtk.EggDBus.DocString"/>
+
+ <arg name="collection" type="o">
+ <annotation value="Collection that was created" name="org.gtk.EggDBus.DocString"/>
+ </arg>
</signal>
<signal name="CollectionDeleted">
- <arg name="collection" type="o"/>
+ <annotation value="A collection was deleted." name="org.gtk.EggDBus.DocString"/>
+
+ <arg name="collection" type="o">
+ <annotation value="Collection that was created" name="org.gtk.EggDBus.DocString"/>
+ </arg>
</signal>
</interface>
diff --git a/daemon/secrets/api/org.freedesktop.Secrets.Session.xml b/daemon/secrets/api/org.freedesktop.Secrets.Session.xml
index b956e2a..8f7692c 100644
--- a/daemon/secrets/api/org.freedesktop.Secrets.Session.xml
+++ b/daemon/secrets/api/org.freedesktop.Secrets.Session.xml
@@ -1,24 +1,61 @@
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node name="/org/freedesktop/Secrets">
- <!--
- * Negotiate key agreement and encryption.
- -->
- <method name="Negotiate">
- <arg name="algorithms" type="s" direction="in"/>
- <arg name="input" type="ay" direction="in"/>
- <arg name="output" type="ay" direction="out"/>
- </method>
+ <interface name="org.freedesktop.Secrets.Session">
- <method name="BeginAuthenticate">
- object
- window-id
- </method>
+ <method name="Close">
+ <annotation value="Close this session." name="org.gtk.EggDBus.DocString"/>
+ </method>
+
+ <method name="Negotiate">
+ <annotation value="Negotiate key agreement and encryption." name="org.gtk.EggDBus.DocString"/>
+
+ <arg name="algorithm" type="s" direction="in">
+ <annotation value="The algorithm the caller wishes to use." name="org.gtk.EggDBus.DocString"/>
+ </arg>
+
+ <arg name="parameters" type="ay" direction="in">
+ <annotation value="Input arguments for the algorithm." name="org.gtk.EggDBus.DocString"/>
+ </arg>
+
+ <arg name="output" type="ay" direction="out">
+ <annotation value="Output of the negotiation." name="org.gtk.EggDBus.DocString"/>
+ </arg>
+ </method>
- <method name="CompleteAuthenticate">
- object
- </method>
-
- <signal name="Authenticated">
-
\ No newline at end of file
+ <method name="BeginAuthenticate">
+ <annotation value="Start asynchronous authentication of objects for the caller." name="org.gtk.EggDBus.DocString"/>
+
+ <arg name="objects" type="ao" direction="in">
+ <annotation value="Objects to authenticate or unlock." name="org.gtk.EggDBus.DocString"/>
+ </arg>
+
+ <arg name="window-id" type="s" direction="in">
+ <annotation value="Platform specific window handle to use for showing any prompts." name="org.gtk.EggDBus.DocString"/>
+ </arg>
+ </method>
+
+ <method name="CompleteAuthenticate">
+ <annotation value="Complete asynchronous authentication of objects for the caller." name="org.gtk.EggDBus.DocString"/>
+
+ <arg name="objects" type="ao" direction="in">
+ <annotation value="Objects to authenticate or unlock." name="org.gtk.EggDBus.DocString"/>
+ </arg>
+
+ <arg name="authenticated" type="ao" direction="in">
+ <annotation value="Objects that were successfully authenticated." name="org.gtk.EggDBus.DocString"/>
+ </arg>
+ </method>
+
+ <signal name="Authenticated">
+ <annotation value="An object (collection or item) was successfully authenticated." name="org.gtk.EggDBus.DocString"/>
+
+ <arg name="object" type="o">
+ <annotation value="The object that was authenticated." name="org.gtk.EggDBus.DocString"/>
+ </arg>
+ </signal>
+
+ </interface>
+</node>
\ No newline at end of file
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]