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> """
<br> pass<br> -<br> class ChannelInterfaceGroup(dbus.service.Interface):<br> """<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>+ """<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>+ """<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>+ """
<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>+ """<br>+ pass
<br>+<br>+ @dbus.service.signal(CHANNEL_INTERFACE_MEMBER_STATE, signature='uu')<br>+ def ReceivedNotification(self, contact, state):<br>+ """<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>+ """<br>+ pass<br>+<br> class ChannelInterfaceTransfer(
dbus.service.Interface):<br> """<br> An interface for channels where you may request that one of the members<br><br>