Skip to content
Skip to link menu
Trinity API Reference
Trinity API Reference
kdecore
kdecore
kdecore
network
kserversocket.h
1
/* -*- C++ -*-
2
* Copyright (C) 2003 Thiago Macieira <thiago@kde.org>
3
*
4
*
5
* Permission is hereby granted, free of charge, to any person obtaining
6
* a copy of this software and associated documentation files (the
7
* "Software"), to deal in the Software without restriction, including
8
* without limitation the rights to use, copy, modify, merge, publish,
9
* distribute, sublicense, and/or sell copies of the Software, and to
10
* permit persons to whom the Software is furnished to do so, subject to
11
* the following conditions:
12
*
13
* The above copyright notice and this permission notice shall be included
14
* in all copies or substantial portions of the Software.
15
*
16
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
*/
24
25
#ifndef KSERVERSOCKET_H
26
#define KSERVERSOCKET_H
27
28
#include <tqobject.h>
29
#include "ksocketbase.h"
30
31
namespace
KNetwork {
32
33
class
KSocketDevice;
34
class
KStreamSocket;
35
class
KResolver;
36
class
KResolverResults;
37
38
class
KServerSocketPrivate;
107
class
KDECORE_EXPORT
KServerSocket
:
public
TQObject,
public
KPassiveSocketBase
108
{
109
Q_OBJECT
110
TQ_OBJECT
111
public
:
122
KServerSocket
(TQObject* parent = 0L,
const
char
*name = 0L);
123
141
KServerSocket
(
const
TQString& service, TQObject* parent = 0L,
const
char
*name = 0L);
142
161
KServerSocket
(
const
TQString& node,
const
TQString& service,
162
TQObject* parent = 0L,
const
char
*name = 0L);
163
170
~
KServerSocket
();
171
172
protected
:
176
virtual
bool
setSocketOptions(
int
opts);
177
178
public
:
187
KResolver
& resolver()
const
;
188
192
const
KResolverResults
& resolverResults()
const
;
193
208
void
setResolutionEnabled(
bool
enable);
209
216
void
setFamily(
int
families);
217
231
void
setAddress(
const
TQString& service);
232
248
void
setAddress(
const
TQString& node,
const
TQString& service);
249
257
void
setTimeout(
int
msecs);
258
276
virtual
bool
lookup();
277
291
virtual
bool
bind(
const
TQString& node,
const
TQString& service);
292
299
virtual
bool
bind(
const
TQString& service);
300
306
virtual
bool
bind();
307
315
virtual
bool
bind(
const
KResolverEntry
& address);
316
330
virtual
bool
listen(
int
backlog = 5);
// 5 is arbitrary
331
335
virtual
void
close();
336
348
void
setAcceptBuffered(
bool
enable);
349
367
virtual
KActiveSocketBase
* accept();
368
372
virtual
KSocketAddress
localAddress()
const
;
373
377
virtual
KSocketAddress
externalAddress()
const
;
378
379
private
slots:
380
void
lookupFinishedSlot();
381
382
signals:
388
void
gotError(
int
code);
389
393
void
hostFound();
394
401
void
bound(
const
KResolverEntry
& local);
402
407
void
closed();
408
414
void
readyAccept();
415
416
protected
:
421
void
copyError();
422
423
private
:
424
bool
doBind();
425
bool
doListen();
426
427
private
:
428
KServerSocket
(
const
KServerSocket
&);
429
KServerSocket
& operator=(
const
KServerSocket
&);
430
431
KServerSocketPrivate *d;
432
};
433
434
}
// namespace KNetwork
435
436
#endif
kdecore
Skip menu "kdecore"
Main Page
Modules
Namespace List
Class Hierarchy
Alphabetical List
Class List
File List
Namespace Members
Class Members
Related Pages
kdecore
Skip menu "kdecore"
arts
dcop
dnssd
interfaces
interface
library
kspeech
ktexteditor
kabc
kate
kcmshell
kdecore
kded
kdefx
kdeprint
kdesu
kdeui
kdoctools
khtml
kimgio
kinit
kio
bookmarks
httpfilter
kfile
kio
kioexec
kpasswdserver
kssl
kioslave
http
kjs
kmdi
kmdi
knewstuff
kparts
krandr
kresources
kspell2
kunittest
kutils
kwallet
libkmid
libkscreensaver