# kdecore Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KIOBufferBase Class Reference

base for I/O buffer implementation More...

`#include <kiobuffer.h>`

List of all members.

## Public Member Functions

| KIOBufferBase ()
| KIOBufferBase (const KIOBufferBase &)
virtual | ~KIOBufferBase ()
KIOBufferBase & | operator= (const KIOBufferBase &)
virtual bool | canReadLine () const =0
virtual QCString | readLine ()=0
virtual Q_LONG | length () const =0
bool | isEmpty () const
virtual Q_LONG | size () const =0
bool | isFull () const
virtual bool | setSize (Q_LONG size)=0
virtual Q_LONG | feedBuffer (const char *data, Q_LONG len)=0
virtual Q_LONG | consumeBuffer (char *data, Q_LONG maxlen, bool discard=true)=0
virtual void | clear ()=0

## Detailed Description

base for I/O buffer implementation

This class declares the base methods to interface with an I/O buffer. Most applications will not need to access this class directly, since it is all handled by KNetwork::KBufferedSocket and other buffering classes.

Author:
  Thiago Macieira <thiago.macieira@kdemail.net>

Definition at line 45 of file kiobuffer.h.

## Constructor & Destructor Documentation

KIOBufferBase::KIOBufferBase | ( |  | ) | `[inline]`

| Default constructor. Does nothing. Definition at line 51 of file kiobuffer.h.

KIOBufferBase::KIOBufferBase | ( | const KIOBufferBase & |  | ) | `[inline]`

| Copy constructor. Does nothing here. Definition at line 57 of file kiobuffer.h.

virtual KIOBufferBase::~KIOBufferBase | ( |  | ) | `[inline, virtual]`

| Virtual destructor. Does nothing. Definition at line 63 of file kiobuffer.h.

## Member Function Documentation

KIOBufferBase& KIOBufferBase::operator= | ( | const KIOBufferBase & |  | ) | `[inline]`

| Assignment operator. Does nothing. Definition at line 69 of file kiobuffer.h.

virtual bool KIOBufferBase::canReadLine | ( |  | ) | const`[pure virtual]`

| Returns true if a line can be read from the buffer.

virtual QCString KIOBufferBase::readLine | ( |  | ) | `[pure virtual]`

| Reads a line from the buffer and discards it.

virtual Q_LONG KIOBufferBase::length | ( |  | ) | const`[pure virtual]`

Returns the number of bytes in the buffer.

Note that this is not the size of the buffer.

See also:
  size

Referenced by isEmpty(), and isFull().

bool KIOBufferBase::isEmpty | ( |  | ) | const`[inline]`

| Returns true if the buffer is empty of data. Definition at line 93 of file kiobuffer.h. References length().

virtual Q_LONG KIOBufferBase::size | ( |  | ) | const`[pure virtual]`

Retrieves the buffer size.

The value of -1 indicates that the buffer has no defined upper limit.

See also:
  length for the length of the data stored

Referenced by isFull().

bool KIOBufferBase::isFull | ( |  | ) | const`[inline]`

| Returns true if the buffer is full (i.e., cannot receive more data). Definition at line 107 of file kiobuffer.h. References length(), and size().

virtual bool KIOBufferBase::setSize | ( | Q_LONG | size | ) | `[pure virtual]`

Sets the size of the buffer, if allowed.

Parameters:

  | size | the maximum size, use -1 for unlimited.

Returns:
  true on success, false if an error occurred.

Note:
  if the new size is less than length(), the buffer will be truncated

virtual Q_LONG KIOBufferBase::feedBuffer | ( | const char * | data,
|  | Q_LONG | len
| ) | `[pure virtual]`

Adds data to the end of the buffer.

Parameters:

  | data | the data to be added
  | len | the data length, in bytes

Returns:
  the number of bytes added to the end of the buffer.

virtual Q_LONG KIOBufferBase::consumeBuffer | ( | char * | data,
|  | Q_LONG | maxlen,
|  | bool | discard = `true`
| ) | `[pure virtual]`

Consumes data from the beginning of the buffer.

Parameters:

  | data | where to copy the data to
  | maxlen | the maximum length to copy, in bytes
  | discard | if true, the bytes copied will be discarded

Returns:
  the number of bytes copied from the buffer

virtual void KIOBufferBase::clear | ( |  | ) | `[pure virtual]`

| Clears the buffer.

The documentation for this class was generated from the following file:

- kiobuffer.h

This file is part of the documentation for kdecore Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:18:42 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003