KDE3Support
Go to the documentation of this file.
25 #include <QtCore/QTextCodec>
30 KProcIOPrivate( QTextCodec* c )
40 QByteArray recvbuffer;
46 K3Process::Communication comm;
50 : d( new KProcIOPrivate( _codec ) )
53 d->codec = QTextCodec::codecForName(
"ISO 8859-1" );
55 kError( 174 ) <<
"Can't create ISO 8859-1 codec!" << endl;
62 qDeleteAll( d->outbuffer );
75 d->readsignalon =
true;
87 qDeleteAll( d->outbuffer );
115 return writeStdin( d->codec->fromUnicode( line ), appendnewline );
120 QByteArray *qs =
new QByteArray(line);
127 int l = qs->length();
134 QByteArray *b = (QByteArray *) qs;
137 d->outbuffer.append(b);
139 if ( d->writeready ) {
140 d->writeready =
false;
152 QByteArray *b =
new QByteArray(data);
153 d->outbuffer.append(b);
155 if ( d->writeready ) {
169 d->outbuffer.append(0);
176 d->outbuffer.removeFirst();
178 if ( d->outbuffer.count() == 0 ) {
179 d->writeready =
true;
181 QByteArray *b = d->outbuffer.first();
192 d->recvbuffer += QByteArray(buffer, buflen);
199 d->readsignalon =
true;
200 if ( d->needreadsignal || d->recvbuffer.length() != 0 ) {
207 if ( d->readsignalon ) {
208 d->needreadsignal =
false;
209 d->readsignalon =
false;
212 d->needreadsignal =
true;
218 d->readsignalon = enable;
220 if ( enable && d->needreadsignal ) {
230 d->readsignalon=
true;
235 len = d->recvbuffer.indexOf(
'\n', d->rbi) - d->rbi;
241 ( d->rbi < d->recvbuffer.length() ) ) {
242 d->recvbuffer = d->recvbuffer.mid( d->rbi );
246 len = d->recvbuffer.length();
247 line = d->recvbuffer;
257 line = d->codec->toUnicode( d->recvbuffer.mid( d->rbi, len ) );
272 #include "k3procio.moc"
This file is part of the KDE documentation.
Documentation copyright © 1996-2013 The KDE developers.
Generated on Sat Jun 1 2013 22:09:35 by
doxygen 1.8.3.1 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.