[Telepathy] MC5 and my GSoC project for Banshee

Neil Loknath neil.loknath at gmail.com
Thu Jun 18 15:14:10 PDT 2009

Hey everyone!

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:

1) Currently, I am using MissionControl.AccountStatusChanged signal to
detect when connections become active/disconnected.
    MC5: Use Account.AccountPropertiesChanged [2]

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
    MC5: Use Account.RequestedPresence property [3]??

3) I'm using the ContactListChannel, Group, and SimplePresence interfaces to
find contact, track presence, etc.
    MC5: Assuming that nothing here will have to change

4) Using ContactCapabilities.SetSelfCapabilities to advertise my DBusTube
service. And, using ContactCapabilities.GetCapabilities to find out if other
contacts support my service.
         * 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.
         * 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.
         * I don't need to implement Client.Approver [5] as well, do I? It
seems redundant to me.
         * 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.

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.
    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?

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.

Thanks in advance for your help with my project


[1] http://nlokos.blogspot.com/2009/06/gsoc-week-3.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freedesktop.org/archives/telepathy/attachments/20090618/2b544117/attachment.html 

More information about the telepathy mailing list