zlib compression filter for input streams  
 More...
|  | 
|  | DcmZLibInputFilter () | 
|  | default constructor 
 | 
|  | 
| virtual | ~DcmZLibInputFilter () | 
|  | 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. 
 | 
|  | 
| virtual void | append (DcmProducer &producer) | 
|  | determines the producer from which the filter is supposed to read it's input. 
 | 
|  | 
| virtual | ~DcmInputFilter () | 
|  | destructor 
 | 
|  | 
| virtual | ~DcmProducer () | 
|  | destructor 
 | 
|  | 
|  | 
|  | DcmZLibInputFilter (const DcmZLibInputFilter &) | 
|  | private unimplemented copy constructor 
 | 
|  | 
| DcmZLibInputFilter & | operator= (const DcmZLibInputFilter &) | 
|  | private unimplemented copy assignment operator 
 | 
|  | 
| offile_off_t | fillInputBuffer () | 
|  | reads data from the producer into the input ring buffer until the input ring buffer becomes full or the producer suspends 
 | 
|  | 
| offile_off_t | decompress (const void *buf, offile_off_t buflen) | 
|  | decompress data into the given output block until complete or no more input is available in the input ring buffer. 
 | 
|  | 
| void | fillOutputBuffer () | 
|  | reads and decompresses data from the producer until the producer suspends or the output ring buffer becomes full. 
 | 
|  | 
| void | flushOutputBuffer () | 
|  | writes the content of the output ring buffer to the next filter stage until the output ring buffer becomes empty or the next filter stage becomes full 
 | 
|  | 
| offile_off_t | fillInputBuffer (const void *buf, offile_off_t buflen) | 
|  | copies as much of the given block of data as possible in the input ring buffer 
 | 
|  | 
| void | compressInputBuffer (OFBool finalize) | 
|  | feed data from the input ring buffer to the compression codec until complete or the output ring buffer becomes full. 
 | 
|  | 
|  | 
| DcmProducer * | current_ | 
|  | pointer to producer from which compressed input is read 
 | 
|  | 
| z_streamp | zstream_ | 
|  | pointer to struct z_stream object containing the zlib status 
 | 
|  | 
| OFCondition | status_ | 
|  | status 
 | 
|  | 
| OFBool | eos_ | 
|  | true if the zlib object has reported Z_STREAM_END 
 | 
|  | 
| unsigned char * | inputBuf_ | 
|  | input ring buffer 
 | 
|  | 
| offile_off_t | inputBufStart_ | 
|  | offset of first byte in input ring buffer 
 | 
|  | 
| offile_off_t | inputBufCount_ | 
|  | number of bytes in input ring buffer 
 | 
|  | 
| unsigned char * | outputBuf_ | 
|  | output ring buffer 
 | 
|  | 
| offile_off_t | outputBufStart_ | 
|  | offset of first byte in output ring buffer 
 | 
|  | 
| offile_off_t | outputBufCount_ | 
|  | number of bytes available for read in output ring buffer 
 | 
|  | 
| offile_off_t | outputBufPutback_ | 
|  | number of putback bytes in output ring buffer 
 | 
|  | 
| OFBool | padded_ | 
|  | flag indicating whether or not a pad byte has been appended to the input stream 
 | 
|  | 
zlib compression filter for input streams 
◆ append()
  
  | 
        
          | virtual void DcmZLibInputFilter::append | ( | DcmProducer & | producer | ) |  |  | virtual | 
 
determines the producer from which the filter is supposed to read it's input. 
Once a producer for the input filter has been defined, it cannot be changed anymore during the lifetime of the object. 
- Parameters
- 
  
    | producer | reference to producer, must not be circular chain |  
 
Implements DcmInputFilter.
 
 
◆ avail()
  
  | 
        
          | virtual offile_off_t DcmZLibInputFilter::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.
 
 
◆ compressInputBuffer()
  
  | 
        
          | void DcmZLibInputFilter::compressInputBuffer | ( | OFBool | finalize | ) |  |  | private | 
 
feed data from the input ring buffer to the compression codec until complete or the output ring buffer becomes full. 
Does not flush the output ring buffer. 
- Parameters
- 
  
    | finalize | true if the content of the input ring buffer constitutes the end of the input stream, i.e. the compression codec should be forced to flush its internal state. |  
 
 
 
◆ decompress()
  
  | 
        
          | offile_off_t DcmZLibInputFilter::decompress | ( | const void * | buf, |  
          |  |  | offile_off_t | buflen ) |  | private | 
 
decompress data into the given output block until complete or no more input is available in the input ring buffer. 
does not re-fill the input ring buffer from the producer. 
- Parameters
- 
  
    | buf | pointer to input data |  | buflen | number of bytes in buf |  
 
- Returns
- number of bytes processed 
 
 
◆ eos()
  
  | 
        
          | virtual OFBool DcmZLibInputFilter::eos | ( |  | ) |  |  | virtual | 
 
returns true if the producer is at the end of stream. 
- Returns
- true if end of stream, false otherwise 
Implements DcmProducer.
 
 
◆ fillInputBuffer() [1/2]
  
  | 
        
          | offile_off_t DcmZLibInputFilter::fillInputBuffer | ( |  | ) |  |  | private | 
 
reads data from the producer into the input ring buffer until the input ring buffer becomes full or the producer suspends 
- Returns
- number of bytes added to input buffer 
 
 
◆ fillInputBuffer() [2/2]
  
  | 
        
          | offile_off_t DcmZLibInputFilter::fillInputBuffer | ( | const void * | buf, |  
          |  |  | offile_off_t | buflen ) |  | private | 
 
copies as much of the given block of data as possible in the input ring buffer 
- Parameters
- 
  
    | buf | pointer to input data |  | buflen | number of bytes in buf |  
 
- Returns
- number of bytes copied to input ring buffer 
 
 
◆ good()
  
  | 
        
          | virtual OFBool DcmZLibInputFilter::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.
 
 
◆ putback()
  
  | 
        
          | virtual void DcmZLibInputFilter::putback | ( | offile_off_t | 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.
 
 
◆ read()
  
  | 
        
          | virtual offile_off_t DcmZLibInputFilter::read | ( | void * | buf, |  
          |  |  | offile_off_t | 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.
 
 
◆ skip()
  
  | 
        
          | virtual offile_off_t DcmZLibInputFilter::skip | ( | offile_off_t | 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.
 
 
◆ status()
  
  | 
        
          | virtual OFCondition DcmZLibInputFilter::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:
- dcmdata/include/dcmtk/dcmdata/dcistrmz.h