DcmFileProducer Class Reference

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

Inheritance diagram for DcmFileProducer:

DcmProducer List of all members.

Public Member Functions

 DcmFileProducer (const char *filename, Uint32 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 () const
 returns true if the producer is at the end of stream.
virtual Uint32 avail () const
 returns the minimum number of bytes that can be read with the next call to read().
virtual Uint32 read (void *buf, Uint32 buflen)
 reads as many bytes as possible into the given block.
virtual Uint32 skip (Uint32 skiplen)
 skips over the given number of bytes (or less)
virtual void putback (Uint32 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

FILE * file_
 the file we're actually reading from
OFCondition status_
 status
Uint32 size_
 number of bytes in file

Detailed Description

producer class that reads data from a plain file.

Definition at line 47 of file dcistrmf.h.


Constructor & Destructor Documentation

DcmFileProducer::DcmFileProducer const char *  filename,
Uint32  offset = 0
 

constructor

Parameters:
filename name of file to be opened, must not be NULL or empty
offset byte offset to skip from the start of file


Member Function Documentation

virtual Uint32 DcmFileProducer::avail  )  const [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  )  const [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 Uint32  num  )  [virtual]
 

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

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

Implements DcmProducer.

virtual Uint32 DcmFileProducer::read void *  buf,
Uint32  buflen
[virtual]
 

reads as many bytes as possible into the given block.

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

Implements DcmProducer.

virtual Uint32 DcmFileProducer::skip Uint32  skiplen  )  [virtual]
 

skips over the given number of bytes (or less)

Parameters:
skiplen number 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 20 Dec 2005 for OFFIS DCMTK Version 3.5.4 by Doxygen 1.4.5