summaryrefslogtreecommitdiffstats
path: root/src/remoteobjects/qconnectionfactories.cpp
diff options
context:
space:
mode:
authorBrett Stottlemyer <bstottle@ford.com>2021-08-25 08:45:44 -0400
committerBrett Stottlemyer <bstottle@ford.com>2021-08-31 16:01:54 -0400
commit9e221d546a0dd4d1cb493cd093f98c07ec650f5c (patch)
treeeec38940a4fab5cabe3a8762f1f0be8b8f94a1f0 /src/remoteobjects/qconnectionfactories.cpp
parent02cda2580d3659a4c4f519de92fcce7b50676948 (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.cpp10
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"));
}