Inheritance diagram for DcmZLibOutputFilter:

Public Member Functions | |
| DcmZLibOutputFilter () | |
| default constructor | |
| virtual | ~DcmZLibOutputFilter () |
| 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. | |
| virtual void | append (DcmConsumer &consumer) |
| determines the consumer to which the filter is supposed to write it's output. | |
Private Member Functions | |
| DcmZLibOutputFilter (const DcmZLibOutputFilter &) | |
| private unimplemented copy constructor | |
| DcmZLibOutputFilter & | operator= (const DcmZLibOutputFilter &) |
| private unimplemented copy assignment operator | |
| 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 | compress (const void *buf, offile_off_t buflen, OFBool finalize) |
| feed data from the given block of data to the compression codec until complete or the output ring buffer 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. | |
Private Attributes | |
| DcmConsumer * | current_ |
| pointer to consumer to which compressed output is written | |
| z_streamp | zstream_ |
| pointer to struct z_stream object containing the zlib status | |
| OFCondition | status_ |
| status | |
| OFBool | flushed_ |
| 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 in output ring buffer | |
Definition at line 50 of file dcostrmz.h.
| virtual OFBool DcmZLibOutputFilter::good | ( | ) | const [virtual] |
returns the status of the consumer.
Unless the status is good, the consumer will not permit any operation.
Implements DcmConsumer.
| virtual OFCondition DcmZLibOutputFilter::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.
Implements DcmConsumer.
| virtual OFBool DcmZLibOutputFilter::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.
Implements DcmConsumer.
| virtual offile_off_t DcmZLibOutputFilter::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.
Implements DcmConsumer.
| virtual offile_off_t DcmZLibOutputFilter::write | ( | const void * | buf, | |
| offile_off_t | buflen | |||
| ) | [virtual] |
processes as many bytes as possible from the given input block.
| buf | pointer to memory block, must not be NULL | |
| buflen | length of memory block |
Implements DcmConsumer.
| virtual void DcmZLibOutputFilter::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 void DcmZLibOutputFilter::append | ( | DcmConsumer & | consumer | ) | [virtual] |
determines the consumer to which the filter is supposed to write it's output.
Once a consumer for the output filter has been defined, it cannot be changed anymore during the lifetime of the object.
| consumer | reference to consumer, must not be circular chain |
Implements DcmOutputFilter.
| offile_off_t DcmZLibOutputFilter::compress | ( | const void * | buf, | |
| offile_off_t | buflen, | |||
| OFBool | finalize | |||
| ) | [private] |
feed data from the given block of data to the compression codec until complete or the output ring buffer becomes full.
Does not flush the output ring buffer.
| buf | pointer to input data | |
| buflen | number of bytes in buf | |
| finalize | true if the current block of data constitutes the end of the input stream, i.e. the compression codec should be forced to flush its internal state. |
| offile_off_t DcmZLibOutputFilter::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
| buf | pointer to input data | |
| buflen | number of bytes in buf |
| void DcmZLibOutputFilter::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.
| 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. |