Status Report for KCall/VoIP

Malte Böhme malte.boehme at rwth-aachen.de
Fri Jul 22 12:01:01 CEST 2005


Hi,
here is a short summary of what i have been doing lately.
Perhaps one of you read my first status report on planetsoc.com/node/99

here are the things that were done after that blog-entry:

the choice to rip off kphone code proved to be a good one. the code is now 
much more flexible and i was able to make some more fundamental changes.

- i created a branch under branches/work/kcall-tng/
- rewrote the applet. now there is a kcalldaemon. [1]
- i took the idea of loosely coupled "modules" further and now the RTP, Audio, 
Video and even the RPC stuff should be easily replaceable
- the RPC-Backend can be easily extended to support QCOP or DBUS instead of 
DCOP
- reworked the plugin-system. it is now based on QT to be able to use 
signals/slots. that took way too much time, as i tryed to do the 
plugin-system in pure c++, but wasnt able to find a way to add callbacks so 
that the plugin can notify the core-app.
- the RPC-Backend now doesnt need to know the DCOP-Ref/name for the GUI. the 
gui needs to register itself to the kcalldaemon.
- plugins can be configured through a kcm (see 
kcalldaemon/src/plugins/backend_sip/kcm)

i think that were the most significant changes.

i would like to have some feedback especially on source-code-layout (do i have 
too many sub-folders?), on file-/classnames (kcallbackendplugin_sip sounds 
horrible) and of course everything else :P.
Another thing i am uncertain about is how to configure plugins. the old way 
was to link a library (containing config-widgets) from the daemon into the 
GUI. i found that not a good idea.
my idea was to ship a kcm with the plugin. any other ideas possible pitfalls?

oh yes: [1]: why does the KUniqueApplication crash (the dcop-part crashes) 
when i start it without --nofork ?

another note for those who want to try it out:
code is found in branches/work/kcall-tng/.
you need to checkout (svn co -N playground/pim/) the build-system from 
playground/pim and then checkout my code as a subfolder.
after compilation start kcalldaemon in kcall-tng/kcalldaemon/src via 
"./kcalldaemon --nofork". it needs to be started from there b/c the plugin is 
currently hardcoded.
change line 33 in kcallbackendplugin_sip.cpp. call "dcop KCallDaemon 
KCallDaemon registerToGateway"


damn that mail got way too long ;)

maldn



More information about the Kde-soc mailing list