Hey everyone!<br><br>My name is Neil (nloko on IRC), and I'm working on the Banshee with Telepathy Integration project for SoC [0]. As I understand it, MC5 is coming soon. If you've seen my blog posts [1], you know that I've made some good progress on it. Therefore, I will need to make some changes to my project when Empathy is ported to MC5. I thought it would be a good idea to get some feedback on what I think I will need to change. I've already had some discussion with wjt on IRC, but more information/confirmation on what I will need to do will be very helpful. See below:<br>
<br>1) Currently, I am using MissionControl.AccountStatusChanged signal to detect when connections become active/disconnected.<br> MC5: Use Account.AccountPropertiesChanged [2]<br><br>2) Using MissionControl.SetPresence to set presence message (I know Usertune would be more appropriate, but since it's not there, I am making due with this)<br>
MC5: Use Account.RequestedPresence property [3]??<br><br>3) I'm using the ContactListChannel, Group, and SimplePresence interfaces to find contact, track presence, etc.<br> MC5: Assuming that nothing here will have to change<br>
<br>4) Using ContactCapabilities.SetSelfCapabilities to advertise my DBusTube service. And, using ContactCapabilities.GetCapabilities to find out if other contacts support my service.<br> MC5: <br> * Register dbus name org.freedesktop.Telepathy.Client.clientname, (where clientname = Banshee ? ), that points to an object implementing org.freedesktop.Telepathy.Client.Handler [4]. Set the HandleChannelFilter property to the channels that are to be handled by Banshee. Banshee will be a non-activatible client, so no .client file.<br>
* Implement the HandleChannels method to handle my channels (ie. accept/close tube). This makes handling the NewChannels signal of the Requests interface obsolete, correct? In other words, I won't need it.<br>
* I don't need to implement Client.Approver [5] as well, do I? It seems redundant to me.<br> * Can ContactCapabilities.GetCapabilities and ContactCapabilitiesChanged signal still be used to discover what services other contacts provide? I use this to filter out contacts that don't matter to Banshee, since they can't participate in sharing.<br>
<br>5) I'm using the Requests Interface [6] to create channels and detect new ones. On NewChannels signal, I compare SelfHandle to InitiatorHandle to determine where the channel is coming from and take the appropriate action.<br>
MC5: Should I use org.freedesktop.Telepathy.ChannelDispatcher [7] instead? And, pass it my Banshee Client.Handler dbus name? And, as I have said above, Client.Handler.HandleChannels replaces the need to handle the NewChannels signal, right? Or, should I still use the Requests interface?<br>
<br>Long post! But, this information will be very helpful to me, and maybe others too. If there is anything else you think I should know, please let me know. I hope I have covered everything.<br><br>Thanks in advance for your help with my project<br>
<br>Neil<br><br>[0] <a href="http://socghop.appspot.com/student_project/show/google/gsoc2009/gnome/t124022403765">http://socghop.appspot.com/student_project/show/google/gsoc2009/gnome/t124022403765</a><br>[1] <a href="http://nlokos.blogspot.com/2009/06/gsoc-week-3.html">http://nlokos.blogspot.com/2009/06/gsoc-week-3.html</a><br>
[2] <a href="http://telepathy.freedesktop.org/spec/org.freedesktop.Telepathy.Account.html#org.freedesktop.Telepathy.Account.AccountPropertyChanged">http://telepathy.freedesktop.org/spec/org.freedesktop.Telepathy.Account.html#org.freedesktop.Telepathy.Account.AccountPropertyChanged</a><br>
[3] <a href="http://telepathy.freedesktop.org/spec/org.freedesktop.Telepathy.Account.html#org.freedesktop.Telepathy.Account.RequestedPresence">http://telepathy.freedesktop.org/spec/org.freedesktop.Telepathy.Account.html#org.freedesktop.Telepathy.Account.RequestedPresence</a><br>
[4] <a href="http://telepathy.freedesktop.org/spec/org.freedesktop.Telepathy.Client.Handler.html">http://telepathy.freedesktop.org/spec/org.freedesktop.Telepathy.Client.Handler.html</a><br>[5] <a href="http://telepathy.freedesktop.org/spec/org.freedesktop.Telepathy.Client.Approver.html">http://telepathy.freedesktop.org/spec/org.freedesktop.Telepathy.Client.Approver.html</a><br>
[6] <a href="http://telepathy.freedesktop.org/spec/org.freedesktop.Telepathy.Connection.Interface.Requests.html">http://telepathy.freedesktop.org/spec/org.freedesktop.Telepathy.Connection.Interface.Requests.html</a><br>[7] <a href="http://telepathy.freedesktop.org/spec/org.freedesktop.Telepathy.ChannelDispatcher.html">http://telepathy.freedesktop.org/spec/org.freedesktop.Telepathy.ChannelDispatcher.html</a><br>