1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
//
// Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
// Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
// may also apply
// Generated by preSip
// module kdecore version KDE 3.5.3
// This software is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This software is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
class KBufferedIO : KAsyncIO
{
%TypeHeaderCode
#include <kbufferedio.h>
%End
protected:
KBufferedIO ();
public:
enum closeModes
{
availRead,
dirtyWrite,
involuntary,
delayed,
closedNow
};
virtual void closeNow () = 0;
virtual bool setBufferSize (int, int = -2);
virtual int bytesAvailable () const;
virtual int waitForMore (int) = 0;
virtual int bytesToWrite () const;
virtual bool canReadLine () const;
virtual int peekBlock (char*, uint) = 0;
virtual int unreadBlock (const char*, uint);
signals:
void bytesWritten (int);
void closed (int);
protected:
virtual uint consumeReadBuffer (uint, char*, bool = 1);
virtual void consumeWriteBuffer (uint);
virtual uint feedReadBuffer (uint, const char*, bool = 0);
virtual uint feedWriteBuffer (uint, const char*);
virtual uint readBufferSize () const;
virtual uint writeBufferSize () const;
protected:
//igx virtual void virtual_hook (int, void*);
}; // class KBufferedIO
|