[gnome-keyring/dbus-api: 17/17] Combine entire DBus definition into a single file.



commit d2681b8e7ee6a76176c3064bab8da8d5d52c32f9
Author: Stef Walter <stef memberwebs com>
Date:   Sat Jun 27 19:57:15 2009 +0000

    Combine entire DBus definition into a single file.
    
    Combine multiple parts of the DBus API introspection xml into
    a single file.

 daemon/secrets/api/Makefile.am                     |   18 +-
 .../api/org.freedesktop.Secrets.Collection.xml     |   94 -----
 .../secrets/api/org.freedesktop.Secrets.Item.xml   |   63 ----
 .../api/org.freedesktop.Secrets.Service.xml        |  117 -------
 .../api/org.freedesktop.Secrets.Session.xml        |   67 ----
 daemon/secrets/api/org.freedesktop.Secrets.xml     |  359 ++++++++++++++++++++
 6 files changed, 365 insertions(+), 353 deletions(-)
---
diff --git a/daemon/secrets/api/Makefile.am b/daemon/secrets/api/Makefile.am
index 7765756..fa621f9 100644
--- a/daemon/secrets/api/Makefile.am
+++ b/daemon/secrets/api/Makefile.am
@@ -6,21 +6,15 @@ BUILT_SOURCES = \
 
 # Note: Also copied again in rule below	
 INTERFACE_DEFS = \
-	org.freedesktop.Secrets.Collection.xml \
-	org.freedesktop.Secrets.Item.xml \
-	org.freedesktop.Secrets.Service.xml \
-	org.freedesktop.Secrets.Session.xml \
+	org.freedesktop.Secrets.xml \
 	$(NULL)	
 	
 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 $@								\
+	eggdbus-binding-tool						\
+		--namespace "Secrets"					\
+		--dbus-namespace "org.freedesktop.Secrets"		\
+		--introspection-xml org.freedesktop.Secrets.xml		\
+		--stamp-file $@						\
 	$(NULL)
 
 EXTRA_DIST = \
diff --git a/daemon/secrets/api/org.freedesktop.Secrets.xml b/daemon/secrets/api/org.freedesktop.Secrets.xml
new file mode 100644
index 0000000..efe6b3e
--- /dev/null
+++ b/daemon/secrets/api/org.freedesktop.Secrets.xml
@@ -0,0 +1,359 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd";>
+
+<!-- 
+ * This is the well known dbus service name for controlling the 
+ * entire daemon. The services manages collections of secrets. These
+ * are analogous to the gnome-keyring 'keyrings'.
+-->
+
+<node name="/org/freedesktop/Secrets">
+
+	<!--
+	 * ======================================================================================
+	 * ERROR CODES 
+	 * 
+	-->
+
+	<annotation value="Error" name="org.gtk.EggDBus.DeclareErrorDomain">
+		<annotation value="Errors returned by the Secrets API." name="org.gtk.EggDBus.DocString"/>
+		<annotation name="org.gtk.EggDBus.DocString.Summary" value="Errors"/>
+		
+		<annotation value="org.freedesktop.Secrets.Error.AlreadyExists" name="org.gtk.EggDBus.ErrorDomain.Member">
+      			<annotation value="An object (session, collection) already exists with the same name." name="org.gtk.EggDBus.DocString"/>
+		</annotation>
+
+		<annotation value="org.freedesktop.Secrets.Error.IsLocked" name="org.gtk.EggDBus.ErrorDomain.Member">
+      			<annotation value="The object must be unlocked before this action can be carried out." name="org.gtk.EggDBus.DocString"/>
+		</annotation>
+
+		<annotation value="org.freedesktop.Secrets.Error.NotSupported" name="org.gtk.EggDBus.ErrorDomain.Member">
+      			<annotation value="The algorithm is not supported." name="org.gtk.EggDBus.DocString"/>
+		</annotation>
+
+	</annotation> 
+
+	<!--
+	 * ======================================================================================
+	 * SERVICE INTERFACE 
+	 * 
+	-->
+
+	<interface name="org.freedesktop.Secrets.Service">
+		<annotation value="Manages collections and sessions" name="org.gtk.EggDBus.DocString.Summary"/>
+		<annotation value="The Secrets service manages all the sessions and collections." name="org.gtk.EggDBus.DocString"/>
+		
+		<property name="Collections" type="ao" access="read">
+			<annotation value="The object paths of all collections (ie: keyrings)" name="org.gtk.EggDBus.DocString"/> 
+		</property>
+
+		<property name="DefaultCollection" type="o" access="readwrite">
+			<annotation value="The object path of the default collection, or an empty string if no collections exist." name="org.gtk.EggDBus.DocString"/>
+		</property>
+		
+		<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 value="The object path of the session." name="org.gtk.EggDBus.DocString"/>
+			</arg>
+		</method>
+		
+		<method name="CreateCollection">
+			<annotation value="Create a new collection with the specified access attributes" name="org.gtk.EggDBus.DocString"/>
+			            
+			<arg name="label" type="s" direction="in">
+				<annotation value="The display name of the new collection" name="org.gtk.EggDBus.DocString"/>
+			</arg>
+			
+			<arg name="private" type="b" direction="in">
+				<annotation value="Whether this is a private collection or not." name="org.gtk.EggDBus.DocString"/>
+			</arg>
+		</method>
+
+		<method name="LockService">
+			<annotation value="Lock down the entire service. Remove secrets from memory, lock all collections etc..." name="org.gtk.EggDBus.DocString"/>
+		</method>
+
+		<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="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&lt;Secret&gt;" name="org.gtk.EggDBus.Type"/>
+			</arg>
+		</method>
+		
+		<signal name="CollectionCreated">
+			<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">
+			<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>
+	
+	<!--
+	 * ======================================================================================
+	 * COLLECTION INTERFACE 
+	 * 
+	-->
+
+	<interface name="org.freedesktop.Secrets.Collection">
+		<annotation value="Collection of items" name="org.gtk.EggDBus.DocString.Summary"/>
+		<annotation value="A collection of items containing secrets." name="org.gtk.EggDBus.DocString"/>
+
+		<property name="Items" type="ao" access="read">
+			<annotation value="Items in this collection." name="org.gtk.EggDBus.DocString"/>
+		</property>
+		
+		<property name="Private" type="s" access="read">
+			<annotation value="Whether this is a private collection or not." name="org.gtk.EggDBus.DocString"/>
+		</property>
+
+		<property name="Label" type="s" access="readwrite">
+			<annotation value="The displayable label of this collection." name="org.gtk.EggDBus.DocString"/>
+		</property>
+
+		<property name="Locked" type="s" access="read">
+			<annotation value="Whether the collection is locked and must be authenticated by the client application." name="org.gtk.EggDBus.DocString"/>
+		</property>
+		
+		<property name="Created" type="t" access="read">
+			<annotation value="The unix time when the collection was created." name="org.gtk.EggDBus.DocString"/>
+		</property>
+
+		<property name="Modified" type="t" access="read">
+			<annotation value="The unix time when the collection was last modified." name="org.gtk.EggDBus.DocString"/>
+		</property>
+				
+		<method name="Delete">
+			<annotation value="Delete this collection." name="org.gtk.EggDBus.DocString"/>
+		</method>
+		
+		<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>
+
+		<method name="CreateItem">
+			<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>
+	
+	<!--
+	 * ======================================================================================
+	 * SECRET STRUCT 
+	 * Signature: (sayay)
+	 * 
+	-->
+	
+	<annotation value="Secret" name="org.gtk.EggDBus.DeclareStruct">
+		<annotation value="A secret" name="org.gtk.EggDBus.DocString.Summary"/>
+		<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&lt;Byte&gt;: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&lt;Byte&gt;:value" name="org.gtk.EggDBus.Struct.Member">
+			<annotation value="Possibly encoded secret value." name="org.gtk.EggDBus.DocString"/>
+		</annotation>
+	</annotation>
+	
+	<!--
+	 * ======================================================================================
+	 * ITEM INTERFACE 
+	 * 
+	-->
+	
+	<interface name="org.freedesktop.Secrets.Item">
+		<annotation value="Item wraps a secret" name="org.gtk.EggDBus.DocString.Summary"/>
+		<annotation value="An item contains a secret, lookup attributes and has a label." name="org.gtk.EggDBus.DocString"/>
+
+		<signal name="changed">
+			<annotation value="The item changed in some way." name="org.gtk.EggDBus.DocString"/>
+		</signal>
+		
+		<property name="Locked" type="b" access="read">
+			<annotation value="Whether the item is locked and requires authentication, or not." name="org.gtk.EggDBus.DocString"/>
+		</property>
+
+		<property name="Attributes" type="a{ss}" access="readwrite">
+			<annotation value="The lookup attributes 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>
+		
+		<property name="Created" type="t" access="read">
+			<annotation value="The unix time when the item was created." name="org.gtk.EggDBus.DocString"/>
+		</property>
+
+		<property name="Modified" type="t" access="read">
+			<annotation value="The unix time when the item was last modified." name="org.gtk.EggDBus.DocString"/>
+		</property>
+		
+		<method name="Delete">
+			<annotation value="Delete this item." name="org.gtk.EggDBus.DocString"/>
+		</method>
+
+	</interface>
+
+	<!--
+	 * ======================================================================================
+	 * SESSION INTERFACE 
+	 * 
+	-->
+
+
+	<interface name="org.freedesktop.Secrets.Session">
+		<annotation value="Client application session" name="org.gtk.EggDBus.DocString.Summary"/>
+		<annotation value="A session tracks state between the service and a client application." name="org.gtk.EggDBus.DocString"/>
+
+		<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="input" type="v" direction="in">
+				<annotation value="Input arguments for the algorithm." name="org.gtk.EggDBus.DocString"/>
+			</arg>
+			
+			<arg name="output" type="v" direction="out">
+				<annotation value="Output of the negotiation." name="org.gtk.EggDBus.DocString"/>
+			</arg>
+		</method>
+	
+		<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 authenticated." name="org.gtk.EggDBus.DocString"/>
+		
+			<arg name="object" type="o">
+				<annotation value="The object that was authenticated." name="org.gtk.EggDBus.DocString"/>
+			</arg>
+			
+			<arg name="success" type="b">
+				<annotation value="Whether the object was successfully unlocked." name="org.gtk.EggDBus.DocString"/>
+			</arg>
+		</signal>
+		
+	</interface>
+	
+	
+</node>
+



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]