kserversocket.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 KSERVERSOCKET_H
00026 #define KSERVERSOCKET_H
00027
00028 #include <qobject.h>
00029 #include "ksocketbase.h"
00030
00031 namespace KNetwork {
00032
00033 class KSocketDevice;
00034 class KStreamSocket;
00035 class KResolver;
00036 class KResolverResults;
00037
00038 class KServerSocketPrivate;
00097 class KDECORE_EXPORT KServerSocket: public QObject, public KPassiveSocketBase
00098 {
00099 Q_OBJECT
00100 public:
00111 KServerSocket(QObject* parent = 0L, const char *name = 0L);
00112
00130 KServerSocket(const QString& service, QObject* parent = 0L, const char *name = 0L);
00131
00150 KServerSocket(const QString& node, const QString& service,
00151 QObject* parent = 0L, const char *name = 0L);
00152
00159 ~KServerSocket();
00160
00161 protected:
00165 virtual bool setSocketOptions(int opts);
00166
00167 public:
00176 KResolver& resolver() const;
00177
00181 const KResolverResults& resolverResults() const;
00182
00197 void setResolutionEnabled(bool enable);
00198
00205 void setFamily(int families);
00206
00220 void setAddress(const QString& service);
00221
00237 void setAddress(const QString& node, const QString& service);
00238
00246 void setTimeout(int msecs);
00247
00265 virtual bool lookup();
00266
00280 virtual bool bind(const QString& node, const QString& service);
00281
00288 virtual bool bind(const QString& service);
00289
00295 virtual bool bind();
00296
00304 virtual bool bind(const KResolverEntry& address);
00305
00319 virtual bool listen(int backlog = 5);
00320
00324 virtual void close();
00325
00337 void setAcceptBuffered(bool enable);
00338
00356 virtual KActiveSocketBase* accept();
00357
00361 virtual KSocketAddress localAddress() const;
00362
00366 virtual KSocketAddress externalAddress() const;
00367
00368 private slots:
00369 void lookupFinishedSlot();
00370
00371 signals:
00377 void gotError(int code);
00378
00382 void hostFound();
00383
00390 void bound(const KResolverEntry& local);
00391
00396 void closed();
00397
00403 void readyAccept();
00404
00405 protected:
00410 void copyError();
00411
00412 private:
00413 bool doBind();
00414 bool doListen();
00415
00416 private:
00417 KServerSocket(const KServerSocket&);
00418 KServerSocket& operator=(const KServerSocket&);
00419
00420 KServerSocketPrivate *d;
00421 };
00422
00423 }
00424
00425 #endif
This file is part of the documentation for kdecore Library Version 3.4.3.