[telepathy-spec/master] Change callstate to a asv per contact
Sjoerd Simons
sjoerd.simons at collabora.co.uk
Tue Dec 1 09:46:16 PST 2009
---
spec/Channel_Type_Call.xml | 86 ++++++++++++++++++++++++++++++++------------
1 files changed, 63 insertions(+), 23 deletions(-)
diff --git a/spec/Channel_Type_Call.xml b/spec/Channel_Type_Call.xml
index fce05dc..f26431c 100644
--- a/spec/Channel_Type_Call.xml
+++ b/spec/Channel_Type_Call.xml
@@ -46,8 +46,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<method name="Hangup" tp:name-for-bindings="Hangup">
<tp:docstring>
End the call
- FIXME: add the possibility to add a reason ? maybe possibility to give
- errors.
+ FIXME: add the possibility to add a reason and give
+ to give more detailed errors.
</tp:docstring>
</method>
@@ -123,20 +123,41 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<tp:mapping name="Call_State_Map">
<tp:docstring>
- A map from contacts to call states.
+ 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 name="State" type="u" tp:type="Channel_Call_State_Flags">
- <tp:docstring>State flags for the given contact.</tp:docstring>
- </tp:member>
+ <tp:member type="a{sv}" name="State" tp:type="Contact_Call_State"/>
</tp:mapping>
- <tp:flags name="Call_State_Flags"
- value-prefix="Channel_Call_State" type="u">
+ <tp:enum type="u" name="CallState" tp:name-for-bindings="Call_State">
+ <tp:enumvalue suffix="Pending" value = "1">
+ <tp:docstring>
+ This contact hasn't accepted the Call yet
+ </tp:docstring>
+ </tp:enumvalue>
+ <tp:enumvalue suffix="Accepted" value = "2">
+ <tp:docstring>
+ The contact accepted this call
+ </tp:docstring>
+ </tp:enumvalue>
+ <tp:enumvalue suffix="Ended" value = "3">
+ <tp:docstring>
+ The contact successfully ended its side of the call
+ </tp:docstring>
+ </tp:enumvalue>
+ <tp:enumvalue suffix="Error" value = "4">
+ <tp:docstring>
+ The contact ended the call because of an error condition.
+ FIXME: add well-known keys for errors
+ </tp:docstring>
+ </tp:enumvalue>
+ </tp:enum>
+
+ <tp:flags name="CallFlags" tp:name-for-bindings="Call_Flags"
+ value-prefix="Channel_Call_Flags" type="u">
<tp:docstring>
A set of flags representing call states.
</tp:docstring>
@@ -180,19 +201,36 @@ 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:flags>
+
+ <tp:mapping name="Contact_Call_State" value-prefix="Contact_Call_State">
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ A mapping representing the state of a single contact in a call.
- <tp:flag suffix="Pending" value="32">
+ The following two keys are guaranteed to exist:
+ <dl>
+ <dt> State (u - <tp:type>CallState</tp:type>) </dt>
+ <dd> The status of the contact in the call </dd>
+
+ <dt> Flags (u - <tp:type>CallFlags</tp:type>) </dt>
+ <dd> Extra informational information about the status
+ of this contact </dd>
+ </dl>
+
+ </tp:docstring>
+
+ <tp:member type="s" name="Key">
<tp:docstring>
- The contact hasn't accepted the call yet.
+ Well-known key
</tp:docstring>
- </tp:flag>
-
- <tp:flag suffix="Accepted" value="64">
+ </tp:member>
+ <tp:member type="v" name="Value">
<tp:docstring>
- The contact has accepted the call
+ The value of the key as described above
</tp:docstring>
- </tp:flag>
- </tp:flags>
+ </tp:member>
+ </tp:mapping>
+
<signal name="CallStateChanged"
tp:name-for-bindings="Call_State_Changed">
@@ -200,11 +238,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<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{uu}" tp:type="Call_State_Map">
+ type="a{ua{sv}}" tp:type="Call_State_Map">
</arg>
</signal>
- <property name="CallState" type="a{uu}" access="read"
+ <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>
@@ -216,9 +254,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
type="b" access="read">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>
- If this property is TRUE then the media streaming is done by a
+ If this property is TRUE then all the media streaming is done by a
specialized component If this is FALSE then the handler should handle
- the media streaming itself.
+ the media streaming at least some parts itself.
<tp:rationale>
A connection-manager might be intended for a specialized hardware
device, which will take care of the audio streaming. (e.g.
@@ -251,8 +289,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<p>If set to true in a channel request that will create a new channel,
the connection manager should immediately attempt to establish an
audio stream to the remote contact, making it unnecessary for the
- client to call <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Channel.Type.Call.Draft">AddContent</tp:dbus-ref>.</p>
+ client to call
+ <tp:dbus-ref
+ namespace="org.freedesktop.Telepathy.Channel.Type.Call.Draft">AddContent</tp:dbus-ref>.
+ </p>
<p>If this property, or InitialVideo, is passed to EnsureChannel
(as opposed to CreateChannel), the connection manager SHOULD ignore
--
1.5.6.5
More information about the telepathy-commits
mailing list