28 #include <config-network.h>
30 #include <QSocketNotifier>
39 using namespace KNetwork;
41 class KNetwork::KClientSocketBasePrivate
49 bool enableRead : 1, enableWrite : 1;
57 d->enableWrite =
false;
79 QMutexLocker locker(
mutex());
95 return d->peerResolver;
100 return d->peerResults;
105 return d->localResolver;
110 return d->localResults;
117 d->localResolver.setFlags(d->localResolver.flags() & ~
KResolver::NoResolve);
118 d->peerResolver.setFlags(d->peerResolver.flags() & ~
KResolver::NoResolve);
129 d->localResolver.setFamily(families);
130 d->peerResolver.setFamily(families);
143 if (d->localResolver.serviceName().isNull() &&
144 !d->localResolver.nodeName().isNull())
145 d->localResolver.setServiceName(QLatin1String(
""));
151 this, SLOT(lookupFinishedSlot()));
154 this, SLOT(lookupFinishedSlot()));
156 if (d->localResolver.status() <= 0)
157 d->localResolver.start();
158 if (d->peerResolver.status() <= 0)
159 d->peerResolver.start();
164 if (!d->localResolver.isRunning() && !d->peerResolver.isRunning())
169 lookupFinishedSlot();
171 QTimer::singleShot(0,
this, SLOT(lookupFinishedSlot()));
232 if (
state() < newstate)
277 d->peerResolver.cancel(
false);
278 d->localResolver.cancel(
false);
350 emit bytesWritten(retval);
366 return d->enableRead;
371 QMutexLocker locker(
mutex());
373 d->enableRead = enable;
376 n->setEnabled(enable);
381 return d->enableWrite;
386 QMutexLocker locker(
mutex());
388 d->enableWrite = enable;
391 n->setEnabled(enable);
406 void KClientSocketBase::lookupFinishedSlot()
408 if (d->peerResolver.isRunning() || d->localResolver.isRunning() ||
state() !=
HostLookup)
413 if (d->peerResolver.status() < 0 || d->localResolver.status() < 0)
422 d->localResults = d->localResolver.results();
423 d->peerResults = d->peerResolver.results();
436 n->setEnabled(d->enableRead);
445 n->setEnabled(d->enableWrite);
458 #include "k3clientsocketbase.moc"