<br><br>---------- Forwarded message ----------<br><span class="gmail_quote">From: <b class="gmail_sendername">Luiz Augusto von Dentz</b> &lt;<a href="mailto:luiz.dentz@gmail.com">luiz.dentz@gmail.com</a>&gt;<br>Date: Jul 7, 2006 3:19 PM
<br>Subject: Re: [Telepathy] RFC: draft chat state interface specification<br>To: Dafydd Harries &lt;<a href="mailto:dafydd.harries@collabora.co.uk">dafydd.harries@collabora.co.uk</a>&gt;<br><br></span><div>Hi,<br><br>This can lead to some confusions because the interface doesnt reflect that it is intent to send/receive notifications, but to set chat states that could be local. 
<br>I suggest some modifications:<br><br><div><span class="q"><span class="gmail_quote"> On 7/7/06, <b class="gmail_sendername">Dafydd Harries</b> &lt;<a href="mailto:dafydd.harries@collabora.co.uk" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
dafydd.harries@collabora.co.uk</a>&gt; wrote: </span><blockquote class="gmail_quote" style="border-left-color: #cccccc; border-left-width: 1px; border-left-style: solid; margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.80ex; padding-left: 1ex">
<br>This dract is heavily based upon the relevant Jabber specification[0].<br><br>class ChannelInterfaceChatState(dbus.service.Interface):<br></blockquote></span></div><div><div><br>class ChannelInterfaceChatStateNotification(
dbus.service.Interface ): <br></div></div><div><span class="q"><br><blockquote class="gmail_quote" style="border-left-color: #cccccc; border-left-width: 1px; border-left-style: solid; margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.80ex; padding-left: 1ex">
&nbsp;&nbsp;&nbsp;&nbsp;&quot;&quot;&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;An interface for channels for receiving notifications of remote contacts' <br>&nbsp;&nbsp;&nbsp;&nbsp;states, and for notifying remote contacts of the local state.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;The following states are defined:<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp; 0 - CHAT_STATE_GONE<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The contact has effectively ceased participating in the chat. <br> &nbsp;&nbsp;&nbsp;&nbsp; 1 - CHAT_STATE_INACTIVE<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The contact has not been active for some time.<br>&nbsp;&nbsp;&nbsp;&nbsp; 2 - CHAT_STATE_ACTIVE
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The contact is actively participating in the chat.<br>&nbsp;&nbsp;&nbsp;&nbsp; 3 - CHAT_STATE_PAUSED<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The contact has paused composing a message. <br>&nbsp;&nbsp;&nbsp;&nbsp; 4 - CHAT_STATE_COMPOSING<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The contact is composing a message to be sent to the chat.
<br><br>&nbsp;&nbsp;&nbsp;&nbsp;Clients should assume that a contact's state is CHAT_STATE_INACTIVE unless<br>&nbsp;&nbsp;&nbsp;&nbsp;they receive a notification otherwise. <br><br>&nbsp;&nbsp;&nbsp;&nbsp;The CHAT_STATE_GONE state is treated differently to other states:<br><br>&nbsp;&nbsp;&nbsp;&nbsp; - It is not used for multi-user chats;
<br>&nbsp;&nbsp;&nbsp;&nbsp; - It is implictly set when the channel is closed;<br>&nbsp;&nbsp;&nbsp;&nbsp; - It may not be explicitly set. <br>&nbsp;&nbsp;&nbsp;&nbsp;&quot;&quot;&quot;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;@dbus.service.method(CHANNEL_TYPE_TEXT, in_signature='u', out_signature='')<br>&nbsp;&nbsp;&nbsp;&nbsp;def SetState(self, state):
</blockquote></span></div><div><div><br>def SendNotification(self, state) :<br></div></div><div><span class="q"><br><blockquote class="gmail_quote" style="border-left-color: #cccccc; border-left-width: 1px; border-left-style: solid; margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.80ex; padding-left: 1ex">
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;&quot;&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the local state and notify other members of the channel that it <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;has changed.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Parameters:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state - the new local state<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;&quot;&quot;
<br><br>&nbsp;&nbsp;&nbsp;&nbsp;@dbus.service.signal(CHANNEL_TYPE_TEXT, signature='uu')<br>&nbsp;&nbsp;&nbsp;&nbsp;def StateChanged(self, contact, state): </blockquote></span></div><div><div><br>def ReceivedNotification(self, contact, state):</div></div><div><span class="q">
<br><blockquote class="gmail_quote" style="border-left-color: #cccccc; border-left-width: 1px; border-left-style: solid; margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.80ex; padding-left: 1ex">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;&quot;&quot; 
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Emitted when somebody's state has changed. This includes local<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Parameters:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contact - the contact whose state has changed<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state - their new state <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;&quot;&quot;
<br></blockquote></span></div><br></div>