[telepathy-spec/master] Re-do the call state (now seperate properties instead of a big map

Sjoerd Simons sjoerd.simons at collabora.co.uk
Tue Nov 24 06:58:16 PST 2009


---
 spec/Channel_Type_Call.xml |   99 ++++++++++++++++++-------------------------
 1 files changed, 42 insertions(+), 57 deletions(-)

diff --git a/spec/Channel_Type_Call.xml b/spec/Channel_Type_Call.xml
index f0453b3..5c10f50 100644
--- a/spec/Channel_Type_Call.xml
+++ b/spec/Channel_Type_Call.xml
@@ -134,43 +134,30 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
       </tp:docstring>
     </property>
 
-    <tp:mapping name="Call_State_Map">
-      <tp:docstring>
-        A map from contacts to call states. slates
-      </tp:docstring>
-
-      <tp:member name="Contact" type="u" tp:type="Contact_Handle">
-        <tp:docstring>A contact involved in this call.</tp:docstring>
-      </tp:member>
-      <tp:member type="a{sv}" name="State" tp:type="Contact_Call_State"/>
-    </tp:mapping>
-
     <tp:enum type="u" name="Call_State">
-      <tp:enumvalue suffix="Pending" value = "1">
+      <tp:enumvalue suffix="PendingInitiator" value = "1">
         <tp:docstring>
-          This contact hasn't accepted the Call yet
+          The initiator hasn't accepted the call yet
         </tp:docstring>
       </tp:enumvalue>
-      <tp:enumvalue suffix="Accepted" value = "2">
+      <tp:enumvalue suffix="PendingReceiver" value = "2">
         <tp:docstring>
-          The contact accepted this call
+          This receiver hasn't accepted the Call yet
         </tp:docstring>
       </tp:enumvalue>
-      <tp:enumvalue suffix="Ended" value = "3">
+      <tp:enumvalue suffix="Accepted" value = "3">
         <tp:docstring>
-          The contact successfully ended its side of the call
+          The contact accepted this call
         </tp:docstring>
       </tp:enumvalue>
-      <tp:enumvalue suffix="Error" value = "4">
+      <tp:enumvalue suffix="Ended" value = "4">
         <tp:docstring>
-          The contact ended the call because of an error condition.
-          FIXME: add well-known keys for errors
+          The call has  ended
         </tp:docstring>
       </tp:enumvalue>
     </tp:enum>
 
-    <tp:flags name="CallFlags" tp:name-for-bindings="Call_Flags"
-        value-prefix="Channel_Call_Flags" type="u">
+    <tp:flags name="Call_Flags" value-prefix="Channel_Call_Flags" type="u">
       <tp:docstring>
         A set of flags representing call states.
       </tp:docstring>
@@ -191,9 +178,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
       <tp:flag suffix="Held" value="4">
         <tp:docstring>
-          The contact has placed the call on hold, and will not receive
-          media from the local user or any other participants until they
-          unhold the call again.
+          The call has been put on hold.
         </tp:docstring>
       </tp:flag>
 
@@ -214,35 +199,35 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
           outgoing call has reached a gateway, for instance.
         </tp:docstring>
       </tp:flag>
+
+      <tp:flag suffix="Clearing" value="32">
+        <tp:docstring>
+          The call is being cleared
+        </tp:docstring>
+      </tp:flag>
     </tp:flags>
 
-    <tp:mapping name="Contact_Call_State" value-prefix="Contact_Call_State">
+    <property name="CallState" type="u" access="read"
+      tp:name-for-bindings="Call_State" tp:type="Call_State">
       <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-        A mapping representing the state of a single contact in a call.
+        <p>Current state of this call</p>
+      </tp:docstring>
+    </property>
 
-        The following two keys are guaranteed to exist:
-        <dl>
-          <dt> State (u - <tp:type>Call_State</tp:type>) </dt>
-          <dd> The status of the contact in the call </dd>
+    <property name="CallFlags" type="u" access="read"
+      tp:name-for-bindings="Call_Flags" tp:type="Call_Flags">
+      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+        <p>Current state of this call</p>
+      </tp:docstring>
+    </property>
 
-          <dt> Flags (u - <tp:type>CallFlags</tp:type>) </dt>
-          <dd> Extra informational information about the status
-              of this contact </dd>
-        </dl>
 
+    <property name="CallStateReason" tp:name-for-bindings="Call_State_Reason"
+      type="uuss" access="read"> <!-- tp:type="Call_State_Reason_Struct"> -->
+      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+        <p>The reason the call is in the state it is in :) </p>
       </tp:docstring>
-
-      <tp:member type="s" name="Key">
-        <tp:docstring>
-           Well-known key
-        </tp:docstring>
-      </tp:member>
-      <tp:member type="v" name="Value">
-        <tp:docstring>
-          The value of the key as described above
-        </tp:docstring>
-      </tp:member>
-    </tp:mapping>
+    </property>
 
 
     <signal name="CallStateChanged"
@@ -250,19 +235,19 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
       <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
         <p>Emitted when the state of a contact on the call changed</p>
       </tp:docstring>
-      <arg name="StateChanges" tp:name-for-bindings="State_Changes"
-        type="a{ua{sv}}" tp:type="Call_State_Map">
+      <arg name="CallState" tp:name-for-bindings="Call_State"
+        type="u" tp:type="Call_State">
+      </arg>
+      <arg name="CallFlags" tp:name-for-bindings="Call_Flags"
+        type="u" tp:type="Call_Flags">
+      </arg>
+      <arg name="CallStateReason" tp:name-for-bindings="Call_State_Reason"
+        type="uuss">
+      </arg>
+      <arg name="Details" tp:name-for-bindings="Details" type="a{sv}">
       </arg>
     </signal>
 
-    <property name="CallState" type="a{ua{sv}}" access="read"
-      tp:name-for-bindings="Call_State" tp:type="Call_State_Map">
-      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-        <p>Current state of the various contacts involved in this call</p>
-        FIXME: Do we need to add error ? how to make that state recoverable?
-      </tp:docstring>
-    </property>
-
     <property name="HardwareStreaming" tp:name-for-bindings="Hardware_Streaming"
         type="b" access="read">
       <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-- 
1.5.6.5




More information about the telepathy-commits mailing list