[Telepathy] telepathy-blue
Raphaël Slinckx
raphael at slinckx.net
Tue Sep 12 07:06:09 PDT 2006
Hi !
I started working for fun on a bluetooth/sms connection manager.
The code is available on a darcs repository here for the moment:
darcs get http://raphael.slinckx.net/telepathy-blue/
Supported are sending of sms through telepathy interfaces. I also have
everything setup for receiving SMS but the sms decoding code isn't ready
yet.
I need to address some issues, like how to map TP specs to that kind of
manager.
For the moment:
* Connect = Scan all BT devices pick the first one that has rfcomm
channel and connect to it.
* RequestHandle = request a phone number (intl format only ATM)
* RequestChannel (text).Send = send sms to the BT phone to the number
represented by the channel's handle.
* RequestChannel(text).Received = a SMS is received by the phone from
the number represented by the handle.
What could be possible is:
* hook in evolution-data-server in some ways to get phone numbers and
create the contact list channel. Or maybe read the contacts from the
phone (that would require writing support for it, and coming dangerously
close to libgnokii, i bet most phones implement their own contact
retreival protocol, i don't want to do that)
* Use the yet-to-be-created telepathy 'Group' interface (to present
stuff like jabber server-side contact groups, or other). Map each BT
device to a group, and then present contacts for each bt device in those
groups. Makes sense only if using contacts from the phone then.
* Maybe the connmgr could accept as parameter the BT address of one
device (used like a jabber ID), then the UI would have to be BT-aware
and perform the device selection (and retreive the device address to
pass to the connmgr)
I think the long term goal is to be able using galago or whatever to
detect that a contact (from e-d-s or jabber or any other medium) has a
e-d-s phone number, then add a menu item for that contact 'Send SMS'
which would trigger a request on the sms connmgr.
Is this acceptable for an UI to special case these kind of things ? I
guess yes since the UI is the final end-user product and has to contain
such special cases to allow a nice user-experience.
It would be in pseudo-code like :
on_send_sms:
get_connmgr_for_protocol("sms").send_sms(blabla)
if have_connmgr_with_protocol("sms") and is_connected:
menu.append("Send SMS", on_send_sms)
Thoughts, comments, anything ?
Testing and bug reports are appreciated of course. Maybe we want this to
be hosted on telepathy repositories ?
Enjoy,
Raf
More information about the Telepathy
mailing list