[Telepathy] MC5 and my GSoC project for Banshee
neil.loknath at gmail.com
Thu Jun 18 15:14:10 PDT 2009
My name is Neil (nloko on IRC), and I'm working on the Banshee with
Telepathy Integration project for SoC . As I understand it, MC5 is coming
soon. If you've seen my blog posts , 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) 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) 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 . 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  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  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 
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
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the telepathy