summaryrefslogtreecommitdiffstats
path: root/src/network/socket/qlocalserver.h
diff options
context:
space:
mode:
authorAndrew Stanley-Jones <andrew.stanley-jones@nokia.com>2012-02-06 18:36:06 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-10 03:02:07 +0100
commit49b53061550c15ce3b9cc38ee5e82e970f75d5ea (patch)
tree8b6ea732d514b0220d11062d256351145d8837cb /src/network/socket/qlocalserver.h
parent8522cb5c97e092d83484768152704f7d9a69901d (diff)
Add socketOptions flags to QLocalServer
QLocalServer had no way to set socket options that more complicated servers require. The first set of options allow setting of access control on the sockets. Change-Id: If4268c66462fc2e6cf1e70b1d5f56c76d2c69228 Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
Diffstat (limited to 'src/network/socket/qlocalserver.h')
-rw-r--r--src/network/socket/qlocalserver.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/network/socket/qlocalserver.h b/src/network/socket/qlocalserver.h
index f694131953..6f883adc24 100644
--- a/src/network/socket/qlocalserver.h
+++ b/src/network/socket/qlocalserver.h
@@ -58,11 +58,22 @@ class Q_NETWORK_EXPORT QLocalServer : public QObject
{
Q_OBJECT
Q_DECLARE_PRIVATE(QLocalServer)
+ Q_PROPERTY(SocketOptions socketOptions READ socketOptions WRITE setSocketOptions)
+ Q_FLAGS(SocketOption SocketOptions)
Q_SIGNALS:
void newConnection();
public:
+ enum SocketOption {
+ NoOptions = 0x0,
+ UserAccessOption = 0x01,
+ GroupAccessOption = 0x2,
+ OtherAccessOption = 0x4,
+ WorldAccessOption = 0x7
+ };
+ Q_DECLARE_FLAGS(SocketOptions, SocketOption)
+
QLocalServer(QObject *parent = 0);
~QLocalServer();
@@ -80,6 +91,9 @@ public:
void setMaxPendingConnections(int numConnections);
bool waitForNewConnection(int msec = 0, bool *timedOut = 0);
+ void setSocketOptions(SocketOptions options);
+ SocketOptions socketOptions() const;
+
protected:
virtual void incomingConnection(quintptr socketDescriptor);
@@ -88,6 +102,8 @@ private:
Q_PRIVATE_SLOT(d_func(), void _q_onNewConnection())
};
+Q_DECLARE_OPERATORS_FOR_FLAGS(QLocalServer::SocketOptions)
+
#endif // QT_NO_LOCALSERVER
QT_END_NAMESPACE