|
|
Home | Loader API | Interfaces | File List | Index | |
This interface is implmented by components that support receiving streamed data. More...
#include <p6datastream.h>
Inherits P6R::p6ICom.
Public Member Functions | |
virtual P6R::P6INT32 | addref ()=0 |
This method increases the reference count of the component instance by one. | |
virtual P6R::P6ERR | beginStream ()=0 |
Called to prepare the component to begin accepting stream data via the processStream() method. | |
virtual P6R::P6ERR | endStream ()=0 |
This method is to notify the component that there is no more data to be processed. | |
virtual P6R::P6ERR | processStream (const P6R::P6VOID *pData, P6R::P6UINT32 cData)=0 |
Provides implementation depent processing of the provided data. | |
virtual P6R::P6ERR | queryInterface (const P6R::IID &iid, P6R::P6VOID **ppIface)=0 |
This method queries the component for a specific interface. | |
virtual P6R::P6INT32 | release ()=0 |
This method decrements a components reference count. |
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 42 of file p6datastream.h.