diff options
author | Brett Stottlemyer <bstottle@ford.com> | 2021-08-25 08:45:44 -0400 |
---|---|---|
committer | Brett Stottlemyer <bstottle@ford.com> | 2021-08-31 16:01:54 -0400 |
commit | 9e221d546a0dd4d1cb493cd093f98c07ec650f5c (patch) | |
tree | eec38940a4fab5cabe3a8762f1f0be8b8f94a1f0 /src/remoteobjects/qconnectionfactories.cpp | |
parent | 02cda2580d3659a4c4f519de92fcce7b50676948 (diff) |
Provide a schema for abstract local sockets
Adds 'localabstract' schema, an extension of the 'local' schema.
An abstract Unix domain socket (which is a non-portable Linux extension)
avoids creating a file handle for local socket communication. This
allows abstract sockets to run on systems that are non-writable, in
particular Android environments.
Pick-to: 6.2
Fixes: QTBUG-96006
Change-Id: I9f7f7854708264c38d05d704f3569bcc9e46cfbf
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Diffstat (limited to 'src/remoteobjects/qconnectionfactories.cpp')
-rw-r--r-- | src/remoteobjects/qconnectionfactories.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/remoteobjects/qconnectionfactories.cpp b/src/remoteobjects/qconnectionfactories.cpp index 9da37de..0f79e6c 100644 --- a/src/remoteobjects/qconnectionfactories.cpp +++ b/src/remoteobjects/qconnectionfactories.cpp @@ -296,9 +296,12 @@ QString QtROExternalIoDevice::deviceType() const */ QtROServerFactory::QtROServerFactory() { -#if defined(Q_OS_QNX) +#ifdef Q_OS_QNX registerType<QnxServerImpl>(QStringLiteral("qnx")); #endif +#ifdef Q_OS_LINUX + registerType<AbstractLocalServerImpl>(QStringLiteral("localabstract")); +#endif registerType<LocalServerImpl>(QStringLiteral("local")); registerType<TcpServerImpl>(QStringLiteral("tcp")); } @@ -315,9 +318,12 @@ QtROServerFactory *QtROServerFactory::instance() */ QtROClientFactory::QtROClientFactory() { -#if defined(Q_OS_QNX) +#ifdef Q_OS_QNX registerType<QnxClientIo>(QStringLiteral("qnx")); #endif +#ifdef Q_OS_LINUX + registerType<AbstractLocalClientIo>(QStringLiteral("localabstract")); +#endif registerType<LocalClientIo>(QStringLiteral("local")); registerType<TcpClientIo>(QStringLiteral("tcp")); } |