[libsocialweb] Support nested collections.



commit 2b330e46093290acccd6843f8d306f15ace1f050
Author: Eitan Isaacson <eitan monotonous org>
Date:   Wed Feb 9 09:07:43 2011 -0800

    Support nested collections.

 interfaces/sw-collections.xml |   23 ++++++++++++++++++-----
 interfaces/sw-marshals.list   |    1 +
 2 files changed, 19 insertions(+), 5 deletions(-)
---
diff --git a/interfaces/sw-collections.xml b/interfaces/sw-collections.xml
index 2f1a677..7c2fed7 100644
--- a/interfaces/sw-collections.xml
+++ b/interfaces/sw-collections.xml
@@ -19,7 +19,7 @@
         </doc:description>
       </doc:doc>
 
-      <arg name="collection_list" type="a(ssuia{ss})"
+      <arg name="collection_list" type="a(sssuia{ss})"
            tp:type="Collection_Details[]" direction="out">
         <doc:doc>
           <doc:summary>A list of <tp:member-ref>Collection_Details</tp:member-ref>
@@ -45,7 +45,7 @@
         </doc:doc>
       </arg>
 
-      <arg name="collection_list" type="(ssuia{ss})"
+      <arg name="collection_details" type="(sssuia{ss})"
            tp:type="Collection_Details[]" direction="out">
         <doc:doc>
           <doc:summary>The <tp:member-ref>Collection_Details</tp:member-ref>
@@ -85,6 +85,14 @@
         </doc:doc>
       </arg>
 
+      <arg name="collection_parent" type="s" direction="in">
+        <doc:doc>
+          <doc:summary>The service specific identifier of the new
+          collection's parent or an empty string for a top-level
+          collection.</doc:summary>
+        </doc:doc>
+      </arg>
+
       <arg name="extra_parameters" type="a{ss}" direction="in">
         <doc:doc>
           <doc:summary>Extra, service specific parameters,
@@ -100,6 +108,10 @@
       <tp:member type="s" name="Collection_Name">
         <doc:doc>The human readable name of the collection.</doc:doc>
       </tp:member>
+      <tp:member type="s" name="Collection_Parent">
+        <doc:doc>A service-specific identifier for the collection's
+        parent, or an empty string for a top-level collection.</doc:doc>
+      </tp:member>
       <tp:member type="u" tp:name="Collection_Media_Types"
                  name="Supported_Media_Types">
         <doc:doc>Supported types of media in this collection.</doc:doc>
@@ -108,13 +120,14 @@
         <doc:doc>The number of items currently in the collection, or -1 if unknown.</doc:doc></tp:member>
       <tp:member type="a{ss}" name="Attributes">
         <doc:doc>Additional collection attributes.</doc:doc>
-      </tp:member>        
+      </tp:member>
     </tp:struct>
 
     <tp:flags name="Collection_Media_Types"
               value-prefix="Collection_Media_Type">
-      <tp:flag name="Photos" value="1"/>
-      <tp:flag name="Videos" value="2"/>
+      <tp:flag name="Collections" value="1"/>
+      <tp:flag name="Photos" value="2"/>
+      <tp:flag name="Videos" value="4"/>
     </tp:flags>
 
   </interface>
diff --git a/interfaces/sw-marshals.list b/interfaces/sw-marshals.list
index c3b56c0..0f5fd4b 100644
--- a/interfaces/sw-marshals.list
+++ b/interfaces/sw-marshals.list
@@ -12,3 +12,4 @@ VOID:STRING,STRING,STRING,UINT,UINT,STRING,POINTER
 VOID:STRING,STRING,STRING,INT64,STRING,STRING,UINT,UINT,STRING,POINTER
 VOID:STRING,BOXED,POINTER
 VOID:INT,INT,STRING
+VOID:STRING,UINT,STRING,BOXED,POINTER



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