Qt 4.8
|
The QUnixSocketServer class provides a Unix domain socket based server. More...
#include <qunixsocketserver_p.h>
Public Types | |
enum | ServerError { NoError, InvalidPath, ResourceError, BindError, ListenError } |
The ServerError enumeration represents the errors that can occur during server establishment. More... | |
Public Functions | |
void | close () |
Stop listening for incoming connections and resets the Unix socket server's state. More... | |
bool | isListening () const |
Returns true if this server is listening for incoming connections, false otherwise. More... | |
bool | listen (const QByteArray &path) |
Tells the server to listen for incoming connections on path. More... | |
int | maxPendingConnections () const |
Returns the maximum length the queue of pending connections may grow to. More... | |
QUnixSocketServer (QObject *parent=0) | |
Create a new Unix socket server with the given parent. More... | |
QByteArray | serverAddress () const |
Returns the Unix path on which this server is listening. More... | |
ServerError | serverError () const |
Returns the last server error. More... | |
void | setMaxPendingConnections (int numConnections) |
Sets the maximum length the queue of pending connections may grow to numConnections. More... | |
int | socketDescriptor () const |
virtual | ~QUnixSocketServer () |
Stops listening for incoming connection and destroys the Unix socket server. More... | |
Public Functions inherited from QObject | |
bool | blockSignals (bool b) |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More... | |
const QObjectList & | children () const |
Returns a list of child objects. More... | |
bool | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0) |
bool | disconnect (const QObject *receiver, const char *member=0) |
void | dumpObjectInfo () |
Dumps information about signal connections, etc. More... | |
void | dumpObjectTree () |
Dumps a tree of children to the debug output. More... | |
QList< QByteArray > | dynamicPropertyNames () const |
Returns the names of all properties that were dynamically added to the object using setProperty(). More... | |
virtual bool | event (QEvent *) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. More... | |
virtual bool | eventFilter (QObject *, QEvent *) |
Filters events if this object has been installed as an event filter for the watched object. More... | |
template<typename T > | |
T | findChild (const QString &aName=QString()) const |
Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More... | |
template<typename T > | |
QList< T > | findChildren (const QString &aName=QString()) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More... | |
template<typename T > | |
QList< T > | findChildren (const QRegExp &re) const |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More... | |
void | installEventFilter (QObject *) |
Installs an event filter filterObj on this object. More... | |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false. More... | |
void | killTimer (int id) |
Kills the timer with timer identifier, id. More... | |
virtual const QMetaObject * | metaObject () const |
Returns a pointer to the meta-object of this object. More... | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. More... | |
QString | objectName () const |
QObject * | parent () const |
Returns a pointer to the parent object. More... | |
QVariant | property (const char *name) const |
Returns the value of the object's name property. More... | |
Q_INVOKABLE | QObject (QObject *parent=0) |
Constructs an object with parent object parent. More... | |
void | removeEventFilter (QObject *) |
Removes an event filter object obj from this object. More... | |
void | setObjectName (const QString &name) |
void | setParent (QObject *) |
Makes the object a child of parent. More... | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. More... | |
void | setUserData (uint id, QObjectUserData *data) |
bool | signalsBlocked () const |
Returns true if signals are blocked; otherwise returns false. More... | |
int | startTimer (int interval) |
Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More... | |
QThread * | thread () const |
Returns the thread in which the object lives. More... | |
QObjectUserData * | userData (uint id) const |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. More... | |
Protected Functions | |
virtual void | incomingConnection (int socketDescriptor)=0 |
This method is invoked each time a new incoming connection is established with the server. More... | |
Protected Functions inherited from QObject | |
virtual void | childEvent (QChildEvent *) |
This event handler can be reimplemented in a subclass to receive child events. More... | |
virtual void | connectNotify (const char *signal) |
This virtual function is called when something has been connected to signal in this object. More... | |
virtual void | customEvent (QEvent *) |
This event handler can be reimplemented in a subclass to receive custom events. More... | |
virtual void | disconnectNotify (const char *signal) |
This virtual function is called when something has been disconnected from signal in this object. More... | |
QObject (QObjectPrivate &dd, QObject *parent=0) | |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. More... | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More... | |
int | senderSignalIndex () const |
virtual void | timerEvent (QTimerEvent *) |
This event handler can be reimplemented in a subclass to receive timer events for the object. More... | |
Private Functions | |
QUnixSocketServer & | operator= (const QUnixSocketServer &) |
QUnixSocketServer (const QUnixSocketServer &) | |
Properties | |
QUnixSocketServerPrivate * | d |
Friends | |
class | QUnixSocketServerPrivate |
Additional Inherited Members | |
Public Slots inherited from QObject | |
void | deleteLater () |
Schedules this object for deletion. More... | |
Signals inherited from QObject | |
void | destroyed (QObject *=0) |
This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More... | |
Static Public Functions inherited from QObject | |
static bool | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More... | |
static bool | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
Disconnects signal in object sender from method in object receiver. More... | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static uint | registerUserData () |
static QString | tr (const char *sourceText, const char *comment=0, int n=-1) |
static QString | trUtf8 (const char *sourceText, const char *comment=0, int n=-1) |
Static Public Variables inherited from QObject | |
static const QMetaObject | staticMetaObject |
This variable stores the meta-object for the class. More... | |
Protected Variables inherited from QObject | |
QScopedPointer< QObjectData > | d_ptr |
Static Protected Variables inherited from QObject | |
static const QMetaObject | staticQtMetaObject |
Related Functions inherited from QObject | |
T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QRegExp ®Exp)() |
T * | qobject_cast (QObject *object) |
QObjectList | |
void * | qt_find_obj_child (QObject *parent, const char *type, const QString &name) |
Returns a pointer to the object named name that inherits type and with a given parent. More... | |
The QUnixSocketServer class provides a Unix domain socket based server.
This class makes it possible to accept incoming Unix domain socket connections. Call QUnixSocketServer::listen() to have the server listen for incoming connections on a specified path. The pure virtual QUnixSocketServer::incomingConnection() is called each time a new connection is established. Users must inherit from QUnixSocketServer and implement this method.
If an error occurs, QUnixSocketServer::serverError() returns the type of error. Errors can only occur during server establishment - that is, during a call to QUnixSocketServer::listen() . Calling QUnixSocketServer::close() causes QUnixSocketServer to stop listening for connections and reset its state.
QUnixSocketServer is often used in conjunction with the QUnixSocket class.
Definition at line 61 of file qunixsocketserver_p.h.
The ServerError enumeration represents the errors that can occur during server establishment.
The most recent error can be retrieved through a call to QUnixSocketServer::serverError() .
Enumerator | |
---|---|
NoError | |
InvalidPath | |
ResourceError | |
BindError | |
ListenError |
Definition at line 65 of file qunixsocketserver_p.h.
QUnixSocketServer::QUnixSocketServer | ( | QObject * | parent = 0 | ) |
Create a new Unix socket server with the given parent.
Definition at line 141 of file qunixsocketserver.cpp.
|
virtual |
Stops listening for incoming connection and destroys the Unix socket server.
Definition at line 149 of file qunixsocketserver.cpp.
|
private |
void QUnixSocketServer::close | ( | ) |
Stop listening for incoming connections and resets the Unix socket server's state.
Calling this method while QUnixSocketServer::isListening(){not listening } for incoming connections is a no-op.
Definition at line 162 of file qunixsocketserver.cpp.
Referenced by listen(), and ~QUnixSocketServer().
|
protectedpure virtual |
This method is invoked each time a new incoming connection is established with the server.
Clients must reimplement this function in their QUnixSocketServer derived class to handle the connection.
A common approach to handling the connection is to pass socketDescriptor to a QUnixSocket instance.
bool QUnixSocketServer::isListening | ( | ) | const |
Returns true if this server is listening for incoming connections, false otherwise.
Definition at line 213 of file qunixsocketserver.cpp.
bool QUnixSocketServer::listen | ( | const QByteArray & | path | ) |
Tells the server to listen for incoming connections on path.
Returns true if it successfully initializes, false otherwise. In the case of failure, the QUnixSocketServer::serverError() error status is set accordingly.
Calling this method while the server is already running will result in the server begin reset, and then attempting to listen on path. This will not affect connections established prior to the server being reset, but further incoming connections on the previous path will be refused.
The server can be explicitly reset by a call to QUnixSocketServer::close() .
Definition at line 235 of file qunixsocketserver.cpp.
Referenced by QWSServerSocket::init().
int QUnixSocketServer::maxPendingConnections | ( | ) | const |
Returns the maximum length the queue of pending connections may grow to.
That is, the maximum number of clients attempting to connect for which the Unix socket server has not yet accepted and passed to QUnixSocketServer::incomingConnection() . If a connection request arrives with the queue full, the client may receive a connection refused notification.
By default a queue length of 30 is used.
Definition at line 330 of file qunixsocketserver.cpp.
|
private |
QByteArray QUnixSocketServer::serverAddress | ( | ) | const |
Returns the Unix path on which this server is listening.
If this server is not listening, and empty address will be returned.
Definition at line 304 of file qunixsocketserver.cpp.
QUnixSocketServer::ServerError QUnixSocketServer::serverError | ( | ) | const |
Returns the last server error.
Errors may only occur within a call to QUnixSocketServer::listen() , and only when such a call fails.
This method is not destructive, so multiple calls to QUnixSocketServer::serverError() will return the same value. The error is only reset by an explicit call to QUnixSocketServer::close() or by further calls to QUnixSocketServer::listen() .
Definition at line 199 of file qunixsocketserver.cpp.
void QUnixSocketServer::setMaxPendingConnections | ( | int | numConnections | ) |
Sets the maximum length the queue of pending connections may grow to numConnections.
This value will only apply to QUnixSocketServer::listen() calls made following the value change - it will not be retroactively applied.
Definition at line 346 of file qunixsocketserver.cpp.
int QUnixSocketServer::socketDescriptor | ( | ) | const |
Definition at line 311 of file qunixsocketserver.cpp.
|
friend |
Definition at line 91 of file qunixsocketserver_p.h.
Referenced by listen(), and setMaxPendingConnections().
|
private |
Definition at line 92 of file qunixsocketserver_p.h.
Referenced by close(), isListening(), listen(), maxPendingConnections(), serverAddress(), serverError(), setMaxPendingConnections(), socketDescriptor(), and ~QUnixSocketServer().