[gnome-keyring/dbus-api] Spec out the remainder of the stuff in the api.



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]