Inheritance diagram for DcmZLibInputFilter:

Public Member Functions | |
| 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 () 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. | |
| virtual void | append (DcmProducer &producer) |
| determines the producer from which the filter is supposed to read it's input. | |
Private Member Functions | |
| DcmZLibInputFilter (const DcmZLibInputFilter &) | |
| private unimplemented copy constructor | |
| DcmZLibInputFilter & | operator= (const DcmZLibInputFilter &) |
| private unimplemented copy assignment operator | |
| Uint32 | fillInputBuffer () |
| reads data from the producer into the input ring buffer until the input ring buffer becomes full or the producer suspends | |
| Uint32 | decompress (const void *buf, Uint32 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 | |
| Uint32 | fillInputBuffer (const void *buf, Uint32 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. | |
Private Attributes | |
| 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 | |
| Uint32 | inputBufStart_ |
| offset of first byte in input ring buffer | |
| Uint32 | inputBufCount_ |
| number of bytes in input ring buffer | |
| unsigned char * | outputBuf_ |
| output ring buffer | |
| Uint32 | outputBufStart_ |
| offset of first byte in output ring buffer | |
| Uint32 | outputBufCount_ |
| number of bytes available for read in output ring buffer | |
| Uint32 | 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 | |
Definition at line 56 of file dcistrmz.h.
|
|
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.
Implements DcmInputFilter. |
|
|
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.
Implements DcmProducer. |
|
|
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.
|
|
||||||||||||
|
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.
|
|
|
returns true if the producer is at the end of stream.
Implements DcmProducer. |
|
||||||||||||
|
copies as much of the given block of data as possible in the input ring buffer
|
|
|
reads data from the producer into the input ring buffer until the input ring buffer becomes full or the producer suspends
|
|
|
returns the status of the producer. Unless the status is good, the producer will not permit any operation.
Implements DcmProducer. |
|
|
resets the stream to the position by the given number of bytes.
Implements DcmProducer. |
|
||||||||||||
|
reads as many bytes as possible into the given block.
Implements DcmProducer. |
|
|
skips over the given number of bytes (or less)
Implements DcmProducer. |
|
|
returns the status of the producer as an OFCondition object. Unless the status is good, the producer will not permit any operation.
Implements DcmProducer. |