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

producer class that reads data from a plain file. More...

+ Inheritance diagram for DcmFileProducer:

List of all members.

Public Member Functions

 DcmFileProducer (const OFFilename &filename, offile_off_t offset=0)
 constructor
virtual ~DcmFileProducer ()
 destructor
virtual OFBool good () const
 returns the status of the producer.
virtual OFCondition status () const
 returns the status of the producer as an OFCondition object.
virtual OFBool eos ()
 returns true if the producer is at the end of stream.
virtual offile_off_t avail ()
 returns the minimum number of bytes that can be read with the next call to read().
virtual offile_off_t read (void *buf, offile_off_t buflen)
 reads as many bytes as possible into the given block.
virtual offile_off_t skip (offile_off_t skiplen)
 skips over the given number of bytes (or less)
virtual void putback (offile_off_t num)
 resets the stream to the position by the given number of bytes.

Private Member Functions

 DcmFileProducer (const DcmFileProducer &)
 private unimplemented copy constructor
DcmFileProduceroperator= (const DcmFileProducer &)
 private unimplemented copy assignment operator

Private Attributes

OFFile file_
 the file we're actually reading from
OFCondition status_
 status
offile_off_t size_
 number of bytes in file

Detailed Description

producer class that reads data from a plain file.


Constructor & Destructor Documentation

DcmFileProducer::DcmFileProducer ( const OFFilename filename,
offile_off_t  offset = 0 
)

constructor

Parameters:
filenamename of file to be opened (may contain wide chars if support enabled)
offsetbyte offset to skip from the start of file

Member Function Documentation

virtual offile_off_t DcmFileProducer::avail ( ) [virtual]

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

The DcmObject read 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 read "en bloc", i.e. all or nothing.

Returns:
minimum of data available in producer

Implements DcmProducer.

virtual OFBool DcmFileProducer::eos ( ) [virtual]

returns true if the producer is at the end of stream.

Returns:
true if end of stream, false otherwise

Implements DcmProducer.

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

returns the status of the producer.

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

Returns:
status, true if good

Implements DcmProducer.

virtual void DcmFileProducer::putback ( offile_off_t  num) [virtual]

resets the stream to the position by the given number of bytes.

Parameters:
numnumber of bytes to putback. If the putback operation fails, the producer status becomes bad.

Implements DcmProducer.

virtual offile_off_t DcmFileProducer::read ( void *  buf,
offile_off_t  buflen 
) [virtual]

reads as many bytes as possible into the given block.

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

Implements DcmProducer.

virtual offile_off_t DcmFileProducer::skip ( offile_off_t  skiplen) [virtual]

skips over the given number of bytes (or less)

Parameters:
skiplennumber of bytes to skip
Returns:
number of bytes actually skipped.

Implements DcmProducer.

virtual OFCondition DcmFileProducer::status ( ) const [virtual]

returns the status of the producer as an OFCondition object.

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

Returns:
status, EC_Normal if good

Implements DcmProducer.


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