AxPipe is suitable when one or more streams of data are to be processed, producing one or more streams of output. A pipe line of independent sections is built in run-time, with each stage optionally running in it's own thread at the programmers discretion.
AxPipe is useful in all situations where streams of data is to be transformed. It grew out of many needs, mostly centered around encryption and compression, but it should be useful in many other similar cases, such as sound and video codecs and players, hashing, splitting, joining, backup, restore, archives and hopefully many uses I have not thought about.
AxPipe is currently optimized and centered around the Win32 platform. There are no fundamental reasons why the framework could not be implemented for Linux as well, and I'd appreciate any such contributions and would be glad to incorporate them into the main stream code.
There's a small first example to study in A First Example, and a more complex one in A Second Example. It may also be helpful to study the AxPipe::Stock transformations, as they are some samples of derived filters and pipes, as well as AxPipe::CSourceFileMap and AxPipe::CSinkFileMap.
For a complete real life example, please see the AxDecrypt program, part of the AxCrypt package. Download the source code and examine AxDecrypt.cpp.
- See also:
- Introduction, Installation, A First Example, A Second Examle, Definitions of Terms, Stock Transformations, Utilities and Overrides
Generated on Mon Feb 2 13:19:21 2004 for AxPipe by