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