/******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 setMaxPendingConnections(int numConnections) override; private: QLocalServer m_server; }; /******qconnection_local_backend_p.cpp*******/ void LocalServerImpl::close() { m_server.close(); } void LocalServerImpl::setMaxPendingConnections(int numConnections) { m_server.setMaxPendingConnections(numConnections); } /******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 setMaxPendingConnections(int numConnections); /******qremoteobjectsourceio.cpp*******/ QUrl QRemoteObjectSourceIo::serverAddress() const { return m_server->address(); } void QRemoteObjectSourceIo::setMaxPendingConnections(int numConnections) { m_server->setMaxPendingConnections(numConnections); } /******#include "qconnectionfactories_p.h"*******/ class Q_REMOTEOBJECTS_EXPORT QConnectionAbstractServer : public QObject { Q_OBJECT Q_DISABLE_COPY(QConnectionAbstractServer) public: explicit QConnectionAbstractServer(QObject *parent = nullptr); ~QConnectionAbstractServer() override; virtual bool hasPendingConnections() const = 0; ServerIoDevice* nextPendingConnection(); virtual QUrl address() const = 0; virtual bool listen(const QUrl &address) = 0; virtual QAbstractSocket::SocketError serverError() const = 0; virtual void close() = 0; virtual void setMaxPendingConnections(int numConnections) = 0;