diff -rN -u old-telepathy-spec/doc/order new-telepathy-spec/doc/order<br>--- old-telepathy-spec/doc/order        2006-10-19 18:56:23.000000000 -0300<br>+++ new-telepathy-spec/doc/order        2006-10-19 18:56:23.000000000 -0300<br>@@ -18,6 +18,7 @@
<br> org.freedesktop.Telepathy.Channel.Interface.Group<br> org.freedesktop.Telepathy.Channel.Interface.Hold<br> org.freedesktop.Telepathy.Channel.Interface.Password<br>+org.freedesktop.Telepathy.Channel.Interface.MemberState
<br> org.freedesktop.Telepathy.Channel.Interface.Transfer<br> org.freedesktop.Telepathy.Channel.Interface.MediaSignalling<br> org.freedesktop.Telepathy.Media.SessionHandler<br>diff -rN -u old-telepathy-spec/telepathy/interfaces.py new-telepathy-spec/telepathy/interfaces.py
<br>--- old-telepathy-spec/telepathy/interfaces.py        2006-10-19 18:56:23.000000000 -0300<br>+++ new-telepathy-spec/telepathy/interfaces.py        2006-10-19 18:56:23.000000000 -0300<br>@@ -2,6 +2,7 @@<br> #<br> # Copyright (C) 2005,2006 Collabora Limited
<br> # Copyright (C) 2005,2006 Nokia Corporation<br>+# Copyright (C) 2006 INdT<br> #<br> # This library is free software; you can redistribute it and/or<br> # modify it under the terms of the GNU Lesser General Public<br>
@@ -43,6 +44,7 @@<br> CHANNEL_INTERFACE_MEDIA_SIGNALLING = 'org.freedesktop.Telepathy.Channel.Interface.MediaSignalling'<br> CHANNEL_INTERFACE_PASSWORD = 'org.freedesktop.Telepathy.Channel.Interface.Password'<br> CHANNEL_INTERFACE_TRANSFER = '
org.freedesktop.Telepathy.Channel.Interface.Transfer'<br>+CHANNEL_INTERFACE_MEMBER_STATE = 'org.freedesktop.Telepathy.Channel.Interface.MemberState'<br>  MEDIA_SESSION_HANDLER = 'org.freedesktop.Telepathy.Media.SessionHandler
'<br> MEDIA_STREAM_HANDLER = 'org.freedesktop.Telepathy.Media.StreamHandler'<br>diff -rN -u old-telepathy-spec/telepathy/server/channel.py new-telepathy-spec/telepathy/server/channel.py<br>--- old-telepathy-spec/telepathy/server/channel.py        2006-10-19 18:56:
23.000000000 -0300<br>+++ new-telepathy-spec/telepathy/server/channel.py        2006-10-19 18:56:23.000000000 -0300<br>@@ -2,6 +2,7 @@<br> #<br> # Copyright (C) 2005,2006 Collabora Limited<br> # Copyright (C) 2005,2006 Nokia Corporation
<br>+# Copyright (C) 2006 INdT<br> #<br> # This library is free software; you can redistribute it and/or<br> # modify it under the terms of the GNU Lesser General Public<br>@@ -787,7 +788,6 @@<br>         &quot;&quot;&quot;
<br>         pass<br> -<br> class ChannelInterfaceGroup(dbus.service.Interface):<br>     &quot;&quot;&quot;<br>     Interface for channels which have multiple members, and where the members<br>@@ -1217,6 +1217,58 @@<br>         pass
<br>  +class ChannelInterfaceMemberState(dbus.service.Interface):<br>+    &quot;&quot;&quot;<br>+    An interface for channels for receiving notifications of remote contacts<br>+    states, and for notifying remote contacts of the local state.
<br>+<br>+    The following states are defined:<br>+<br>+     0 - STATE_NOTIFICATION_GONE<br>+         The contact has effectively ceased participating in the channel<br>+     1 - STATE_NOTIFICATION_INACTIVE<br>+         The contact has not been active for some time.
<br>+     2 - STATE_NOTIFICATION_ACTIVE<br>+         The contact is actively participating in the channel.<br>+     3 - STATE_NOTIFICATION_PAUSED<br>+         The contact has paused its activity. <br>+     4 - STATE_NOTIFICATION_COMPOSING
<br>+         The contact is composing a message to be sent to the channel<br>+<br>+    Clients should assume that a contact's state is STATE_NOTIFICATION_INACTIVE unless<br>+    they receive a notification otherwise. <br>
+<br>+    The STATE_NOTIFICATION_GONE state is treated differently to other states:<br>+<br>+     - It is implictly set when the channel is closed;<br>+     - It may not be explicitly set. <br>+    &quot;&quot;&quot;<br>+    def __init__(self):
<br>+        self._interfaces.add(CHANNEL_INTERFACE_MEMBER_STATE)<br>+<br>+    @dbus.service.method(CHANNEL_INTERFACE_MEMBER_STATE, in_signature='u', out_signature='')<br>+    def SendNotification(self, state):<br>+        &quot;&quot;&quot;
<br>+        Set the local state and notify other members of the channel that it <br>+        has changed.<br>+<br>+        Parameters:<br>+        state - The new local state<br>+        &quot;&quot;&quot;<br>+        pass
<br>+<br>+    @dbus.service.signal(CHANNEL_INTERFACE_MEMBER_STATE, signature='uu')<br>+    def ReceivedNotification(self, contact, state):<br>+        &quot;&quot;&quot;<br>+        Emitted when somebody's state has changed. This includes local
<br>+        state.<br>+<br>+        Parameters:<br>+        contact - The contact whose the state has changed<br>+        state - their new state<br>+        &quot;&quot;&quot;<br>+        pass<br>+<br> class ChannelInterfaceTransfer(
dbus.service.Interface):<br>     &quot;&quot;&quot;<br>     An interface for channels where you may request that one of the members<br><br>