Fovia's C++ Client/Server API
Public Member Functions | List of all members
ISimpleStream Struct Referenceabstract
Inheritance diagram for ISimpleStream:
IRoot

Public Member Functions

virtual signed int AskInterface (const BGUID *piid, struct IRoot **ppr)=0
 
virtual signed int DecRef ()=0
 
virtual signed int Flush ()=0
 
virtual signed int IncRef ()=0
 
virtual signed int Peek ()=0
 
virtual signed int ReadWrite (bool breadwrite, void *pbuf, h_uint32 sz, h_uint32 *sze)=0
 
- Public Member Functions inherited from IRoot
template<class T >
signed int AskInterface (T **pp)
 

Detailed Description

Simple stream interface

Member Function Documentation

virtual signed int ISimpleStream::AskInterface ( const BGUID piid,
struct IRoot **  ppr 
)
pure virtual

ask object for another interface

Implements IRoot.

virtual signed int ISimpleStream::DecRef ( )
pure virtual

decrements the reference count for the object

Implements IRoot.

virtual signed int ISimpleStream::Flush ( )
pure virtual

If the output stream on this stream is buffered, this function will ensure that all currently written data is applied to the stream.

virtual signed int ISimpleStream::IncRef ( )
pure virtual

increments the reference count for the object

Implements IRoot.

virtual signed int ISimpleStream::Peek ( )
pure virtual

Returns S_OK if no more data available to read on the stream, E_FAIL if there is more data available. You may use Peek calls to ensure that client/server calls are in sync.

virtual signed int ISimpleStream::ReadWrite ( bool  breadwrite,
void *  pbuf,
h_uint32  sz,
h_uint32 *  sze 
)
pure virtual
Parameters
breadwrite– if equal to true the function performs read operations, otherwise performs write operation
pbuf– pointer to buffer or data to be read into or written
sz– size of the buffer or data
sze– amount of data read or written