• Skip to content
  • Skip to link menu
KDE 4.1 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

KDECore

KIOBufferBase Class Reference

#include <k3iobuffer.h>

List of all members.


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@kde.org>

Definition at line 43 of file k3iobuffer.h.


Public Member Functions

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

Constructor & Destructor Documentation

KIOBufferBase::KIOBufferBase (  )  [inline]

Default constructor.

Does nothing.

Definition at line 49 of file k3iobuffer.h.

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

Copy constructor.

Does nothing here.

Definition at line 55 of file k3iobuffer.h.

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

Virtual destructor.

Does nothing.

Definition at line 61 of file k3iobuffer.h.


Member Function Documentation

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

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

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

Clears the buffer.

virtual qint64 KIOBufferBase::consumeBuffer ( char *  data,
qint64  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 qint64 KIOBufferBase::feedBuffer ( const char *  data,
qint64  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.

bool KIOBufferBase::isEmpty (  )  const [inline]

Returns true if the buffer is empty of data.

Definition at line 91 of file k3iobuffer.h.

bool KIOBufferBase::isFull (  )  const [inline]

Returns true if the buffer is full (i.e., cannot receive more data).

Definition at line 105 of file k3iobuffer.h.

virtual qint64 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

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

Assignment operator.

Does nothing.

Definition at line 67 of file k3iobuffer.h.

virtual qint64 KIOBufferBase::readLine ( char *  data,
qint64  maxlen 
) [pure virtual]

Reads a line from the buffer and discards it.

virtual bool KIOBufferBase::setSize ( qint64  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 qint64 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


The documentation for this class was generated from the following file:
  • k3iobuffer.h

KDECore

Skip menu "KDECore"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • KIO
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal