#include <p6datastream.h>
Inherits P6R::p6ICom.
Public Member Functions | |
virtual P6INT32 | addref (void)=0 |
virtual P6R::P6ERR | beginStream (void)=0 |
virtual P6R::P6ERR | endStream (void)=0 |
virtual P6R::P6ERR | processStream (const P6VOID *pData, P6UINT32 cData)=0 |
virtual P6R::P6ERR | queryInterface (const P6R::P6IID &iid, P6VOID **ppIface)=0 |
virtual P6INT32 | release (void)=0 |
This interface is implmented by components that support receiving streamed data.
Components that support chaining streams will also usually take a pointer to a P6R::p6IDataStream interface in their initialze method.
Chaining streams provides a powerful mechanism for performing multiple transformations on data. The decision of which tranformations to perform can easily be done at runtime using this mechanism.
Data stream implementation can be broken down into two types: filters and sinks.
Sinks are usually things like files or sockets that provide a stream interface to write out to these devices,
Filters transform the stream in some fashion and write the transformed data out to another filter or sink using the p6IDataStream interface. Examples of filters might be a base64 transcoder or an encryption component.
Definition at line 44 of file p6datastream.h.