[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