ksocketbuffer_p.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef KSOCKETBUFFER_P_H
00026 #define KSOCKETBUFFER_P_H
00027
00028 #include <qmutex.h>
00029 #include <qcstring.h>
00030 #include <qvaluelist.h>
00031 #include "kiobuffer.h"
00032
00033 namespace KNetwork {
00034
00035 class KActiveSocketBase;
00036
00037 namespace Internal {
00038
00048 class KSocketBuffer: public KIOBufferBase
00049 {
00050 public:
00056 KSocketBuffer(Q_LONG size = -1);
00057
00061 KSocketBuffer(const KSocketBuffer& other);
00062
00066 virtual ~KSocketBuffer();
00067
00071 KSocketBuffer& operator=(const KSocketBuffer& other);
00072
00076 virtual bool canReadLine() const;
00077
00081 virtual QCString readLine();
00082
00089 virtual Q_LONG length() const;
00090
00097 virtual Q_LONG size() const;
00098
00106 virtual bool setSize(Q_LONG size);
00107
00115 virtual Q_LONG feedBuffer(const char *data, Q_LONG len);
00116
00120 virtual void clear();
00121
00130 virtual Q_LONG consumeBuffer(char *data, Q_LONG maxlen, bool discard = true);
00131
00140 virtual Q_LONG sendTo(KActiveSocketBase* device, Q_LONG len = -1);
00141
00151 virtual Q_LONG receiveFrom(KActiveSocketBase* device, Q_LONG len = -1);
00152
00153 protected:
00154 mutable QMutex m_mutex;
00155 QValueList<QByteArray> m_list;
00156 QIODevice::Offset m_offset;
00157
00158 Q_LONG m_size;
00159 mutable Q_LONG m_length;
00160 };
00161
00162 } }
00163
00164 #endif
This file is part of the documentation for kdecore Library Version 3.3.0.