[Kde-pim] Common core/library for KDE PIM console applications
Kevin Krammer
kevin.krammer at gmx.at
Fri Mar 7 21:59:22 GMT 2008
Hi folks,
Common needs for all our console applications are:
- command line parsing (non-trivial options, extended help)
- input decoding and output encoding (text codecs)
- input parsing and output formatting (e.g. vcard, ical)
kabcclient uses plugin-like (built-in but created through factory) input and
output stages and a limited number of commands directly implemented in the
program.
I like the flexibility of the IO stages but I am not very happy with the
actual processing stage.
As you all know, one of the design principles of wide-spread console
applications is "pipes and filters", i.e. piping one commands output into the
input of the next command.
Since starting processes is quite "heavy" it would be nice to be able to have
one application perform more than one step in its processing stage, basically
being its own pipeline.
GStreamer has a launcher executable which takes a pipeline description on its
command line in a shell like syntax, i.e. a bit like " filesrc ! decoder
codec=mp3 ! filesink".
We don't have to support this kind of direct interface for manipulating the
processing pipeline, but our current console applications could setup such a
pipeline internally and then execute it with their input.
The main advantage of an internal pipeline is that one can pass high-level
objects around and only do plain text at the two ends.
A possible candidate for the internal data objects would be Akonadi::Item,
though operations on Collections might be interesting as well.
The whole concept obviously reflects how my own console application processes
data, so I'd like to get feedback of other developers, especially Allen as
the primary maintainer of konsolekalendar.
Cheers,
Kevin
--
Kevin Krammer, KDE developer, xdg-utils developer
KDE user support, developer mentoring
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20080307/9d794a7f/attachment.sig>
-------------- next part --------------
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/
More information about the kde-pim
mailing list