/******qconnection_local_backend_p.h*******/ class LocalServerImpl : public QConnectionAbstractServer { Q_OBJECT Q_DISABLE_COPY(LocalServerImpl) public: explicit LocalServerImpl(QObject *parent); ~LocalServerImpl() override; bool hasPendingConnections() const override; ServerIoDevice *configureNewConnection() override; QUrl address() const override; bool listen(const QUrl &address) override; QAbstractSocket::SocketError serverError() const override; void close() override; void setLocalSocketOptions(QLocalServer::SocketOptions options) override; private: QLocalServer m_server; }; /******qconnection_local_backend_p.cpp*******/ void LocalServerImpl::close() { m_server.close(); } void LocalServerImpl::setLocalSocketOptions(QLocalServer::SocketOptions options) { m_server.setSocketOptions(options); } /******qremoteobjectsourceio_p.h*******/ class QRemoteObjectSourceIo : public QObject { Q_OBJECT public: explicit QRemoteObjectSourceIo(const QUrl &address, QObject *parent = nullptr); ~QRemoteObjectSourceIo() override; bool enableRemoting(QObject *object, const QMetaObject *meta, const QString &name, const QString &typeName); bool enableRemoting(QObject *object, const SourceApiMap *api, QObject *adapter = nullptr); bool disableRemoting(QObject *object); QUrl serverAddress() const; void setRemoteLocalSocketOptions(QLocalServer::SocketOptions options); /******qremoteobjectsourceio.cpp*******/ void QRemoteObjectSourceIo::setRemoteLocalSocketOptions(QLocalServer::SocketOptions options) { m_server->setLocalSocketOptions(options); }