DcmConsumer Class Reference

pure virtual abstract base class for consumers, i.e. More...

Inheritance diagram for DcmConsumer:

DcmBufferConsumer DcmFileConsumer DcmOutputFilter DcmZLibOutputFilter List of all members.

Public Member Functions

virtual ~DcmConsumer ()
 destructor
virtual OFBool good () const =0
 returns the status of the consumer.
virtual OFCondition status () const =0
 returns the status of the consumer as an OFCondition object.
virtual OFBool isFlushed () const =0
 returns true if the consumer is flushed, i.e.
virtual Uint32 avail () const =0
 returns the minimum number of bytes that can be written with the next call to write().
virtual Uint32 write (const void *buf, Uint32 buflen)=0
 processes as many bytes as possible from the given input block.
virtual void flush ()=0
 instructs the consumer to flush its internal content until either the consumer becomes "flushed" or I/O suspension occurs.

Detailed Description

pure virtual abstract base class for consumers, i.e.

the final node of a filter chain in an output stream.

Definition at line 46 of file dcostrma.h.


Member Function Documentation

virtual Uint32 DcmConsumer::avail  )  const [pure virtual]
 

returns the minimum number of bytes that can be written with the next call to write().

The DcmObject write methods rely on avail to return a value > 0 if there is no I/O suspension since certain data such as tag and length are only written "en bloc", i.e. all or nothing.

Returns:
minimum of space available in consumer

Implemented in DcmBufferConsumer, DcmFileConsumer, and DcmZLibOutputFilter.

virtual void DcmConsumer::flush  )  [pure virtual]
 

instructs the consumer to flush its internal content until either the consumer becomes "flushed" or I/O suspension occurs.

After a call to flush(), a call to write() will produce undefined behaviour.

Implemented in DcmBufferConsumer, DcmFileConsumer, and DcmZLibOutputFilter.

virtual OFBool DcmConsumer::good  )  const [pure virtual]
 

returns the status of the consumer.

Unless the status is good, the consumer will not permit any operation.

Returns:
status, true if good

Implemented in DcmBufferConsumer, DcmFileConsumer, and DcmZLibOutputFilter.

virtual OFBool DcmConsumer::isFlushed  )  const [pure virtual]
 

returns true if the consumer is flushed, i.e.

has no more data pending in it's internal state that needs to be flushed before the stream is closed.

Returns:
true if consumer is flushed, false otherwise

Implemented in DcmBufferConsumer, DcmFileConsumer, and DcmZLibOutputFilter.

virtual OFCondition DcmConsumer::status  )  const [pure virtual]
 

returns the status of the consumer as an OFCondition object.

Unless the status is good, the consumer will not permit any operation.

Returns:
status, EC_Normal if good

Implemented in DcmBufferConsumer, DcmFileConsumer, and DcmZLibOutputFilter.

virtual Uint32 DcmConsumer::write const void *  buf,
Uint32  buflen
[pure virtual]
 

processes as many bytes as possible from the given input block.

Parameters:
buf pointer to memory block, must not be NULL
buflen length of memory block
Returns:
number of bytes actually processed.

Implemented in DcmBufferConsumer, DcmFileConsumer, and DcmZLibOutputFilter.


The documentation for this class was generated from the following file:


Generated on 20 Dec 2005 for OFFIS DCMTK Version 3.5.4 by Doxygen 1.4.5