Blogoskype
By
Berkus on April 26, 2006 in Development.
So I got kind of allowance to post a little bit about Skype development - how it goes, what problems I face, how I solve them and so on. Kinda daily boring stuff.
I’m still uncertain to what level undisclosure is allowed, so bear with me, I probably will have to edit some posts ![]()
First bit I’ll start off with is Public API support. Over the last year I haven’t seen much applications using Skype Public API under Linux. It was probably because of D-BUS API instability, or absence of dbus daemons running on user desktops, but anyway - really annoyed with D-BUS constant changes I decided to drop D-BUS support for next release, and while D-BUS interface will be present, it will be mostly nominal, obsolete version of dbus. Hopefully, when D-BUS is mature enough and all distros have approximately the same, compatible dbus versions installed by default -- we will have it back.
Right now I’m implementing message passing via X11 ClientMessages, the interface that is very mature and stable. To allow future enhancements I split the Public API handler in two parts -- the API::Dispatcher class that carries main business logic, like keeping track of attached clients and performing commands for them, and several API::Transport classes, API::Transport::X11, API::Transport::DBus and so on. These Transport classes perform actual communication with client programs.
In theory, it should be possible to communicate with Skype from all interfaces at once - due to common Dispatcher you could register via X11, make calls via dbus and open chats via dcop.
I’m also pondering if it is a good idea to make separate skype-dbus, skype-dcop etc. applications and open source them as examples of using Skype Public API via X11.





Comments
Hi,
I wanted to do some development in linux for skype. Do you have any sample c or c++ application which i can use as a starting point. Also, i would like to know if i can use audio in and audio out to change the device name for different skype users running on the same linux machine.
Thanks
Ravi
rshankarkodiak | Monday, Jun 26