P6R::p6IDataStream Interface Reference

This interface is implmented by components that support receiving streamed data. More...

#include <p6datastream.h>

Inherits P6R::p6ICom.

List of all members.

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.

Detailed Description

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.


The documentation for this interface was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines
Copyright © 2004 - 2010 P6R Inc. - All Rights Reserved.