DCMTK  Version 3.6.1 20120515
OFFIS DICOM Toolkit
Public Member Functions | Private Member Functions | Private Attributes
DcmFileConsumer Class Reference

consumer class that stores data in a plain file. More...

+ Inheritance diagram for DcmFileConsumer:

List of all members.

Public Member Functions

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

Private Member Functions

 DcmFileConsumer (const DcmFileConsumer &)
 private unimplemented copy constructor
DcmFileConsumeroperator= (const DcmFileConsumer &)
 private unimplemented copy assignment operator

Private Attributes

OFFile file_
 the file we're actually writing to
OFCondition status_
 status

Detailed Description

consumer class that stores data in a plain file.


Constructor & Destructor Documentation

constructor

Parameters:
filenamename of file to be created (may contain wide chars if support enabled)

constructor

Parameters:
filestructure, file must already be open for writing

Member Function Documentation

virtual offile_off_t DcmFileConsumer::avail ( ) const [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

Implements DcmConsumer.

virtual void DcmFileConsumer::flush ( ) [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.

Implements DcmConsumer.

virtual OFBool DcmFileConsumer::good ( ) const [virtual]

returns the status of the consumer.

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

Returns:
status, true if good

Implements DcmConsumer.

virtual OFBool DcmFileConsumer::isFlushed ( ) const [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

Implements DcmConsumer.

virtual OFCondition DcmFileConsumer::status ( ) const [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

Implements DcmConsumer.

virtual offile_off_t DcmFileConsumer::write ( const void *  buf,
offile_off_t  buflen 
) [virtual]

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

Parameters:
bufpointer to memory block, must not be NULL
buflenlength of memory block
Returns:
number of bytes actually processed.

Implements DcmConsumer.


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


Generated on Tue May 15 2012 for DCMTK Version 3.6.1 20120515 by Doxygen 1.7.5.1-20111027