- Qt 6.7
- Qt Remote Objects
- C++ Classes
- QRemoteObjectHost
- Qt 6.7.0 Reference Documentation

# QRemoteObjectHost Class

A (Host) Node on a Qt Remote Objects network. More...

Header: | #include <QRemoteObjectHost>
CMake: | find_package(Qt6 REQUIRED COMPONENTS RemoteObjects) target_link_libraries(mytarget PRIVATE Qt6::RemoteObjects)
qmake: | QT += remoteobjects
Instantiated By: | Host
Inherits: | QRemoteObjectHostBase

- List of all members, including inherited members

## Properties

- hostUrl : QUrl

## Public Functions

| QRemoteObjectHost(QObject *parent = nullptr)
| QRemoteObjectHost(const QUrl &address, const QUrl &registryAddress = QUrl(), QRemoteObjectHostBase::AllowedSchemas allowedSchemas = BuiltInSchemasOnly, QObject *parent = nullptr)
| QRemoteObjectHost(const QUrl &address, QObject *parent)

## Reimplemented Public Functions

virtual QUrl | hostUrl() const override
virtual bool | setHostUrl(const QUrl &hostAddress, QRemoteObjectHostBase::AllowedSchemas allowedSchemas = BuiltInSchemasOnly) override

## Signals

void | hostUrlChanged()

## Static Public Members

void | setLocalServerOptions(QLocalServer::SocketOptions options)

## Detailed Description

The QRemoteObjectHost class provides an entry point to a QtRemoteObjects network. A network can be as simple as two nodes, or an arbitrarily complex set of processes and devices.

QRemoteObjectHosts have the same capabilities as QRemoteObjectNodes, but they can also be connected to and can share source objects on the network.

Nodes may connect to each other directly using connectToNode, or they can use the QRemoteObjectRegistry to simplify connections.

The QRemoteObjectRegistry is a special replica available to every node that connects to the registry Url. It knows how to connect to every QRemoteObjectSource object on the network.

See also QRemoteObjectNode and QRemoteObjectRegistryHost.

## Property Documentation

### hostUrl : QUrl

This property holds the host address for the node.

This is the address where source objects remoted by this node will reside.

Access functions:

virtual QUrl | hostUrl() const override
virtual bool | setHostUrl(const QUrl &hostAddress, QRemoteObjectHostBase::AllowedSchemas allowedSchemas = BuiltInSchemasOnly) override

Notifier signal:

void | hostUrlChanged()

## Member Function Documentation

### QRemoteObjectHost::QRemoteObjectHost(QObject *parent = nullptr)

Constructs a new QRemoteObjectHost Node (i.e., a Node that supports exposing Source objects on the QtRO network) with the given parent. This constructor is meant specific to support QML in the future as it will not be available to connect to until setHostUrl is called.

See also setHostUrl() and setRegistryUrl().

### QRemoteObjectHost::QRemoteObjectHost(const QUrl &address, const QUrl &registryAddress = QUrl(), QRemoteObjectHostBase::AllowedSchemas allowedSchemas = BuiltInSchemasOnly, QObject *parent = nullptr)

Constructs a new QRemoteObjectHost Node (i.e., a Node that supports exposing Source objects on the QtRO network) with address address. If set, registryAddress will be used to connect to the QRemoteObjectRegistry at the provided address. The allowedSchemas parameter is only needed (and should be set to AllowExternalRegistration) if the schema of the url should be used as an External Schema by the registry.

See also setHostUrl() and setRegistryUrl().

### QRemoteObjectHost::QRemoteObjectHost(const QUrl &address, QObject *parent)

Constructs a new QRemoteObjectHost Node (i.e., a Node that supports exposing Source objects on the QtRO network) with a url of address and the given parent. This overload is provided as a convenience for specifying a QObject parent without providing a registry address.

See also setHostUrl() and setRegistryUrl().

### `[override virtual]` QUrl QRemoteObjectHost::hostUrl() const

Returns the host address for the QRemoteObjectNode as a QUrl. If the Node is not a Host node, returns an empty QUrl.

Note: Getter function for property hostUrl.

See also setHostUrl().

### `[override virtual]` bool QRemoteObjectHost::setHostUrl(const QUrl &hostAddress, QRemoteObjectHostBase::AllowedSchemas allowedSchemas = BuiltInSchemasOnly)

Sets the hostAddress for a host QRemoteObjectNode.

Returns `true` if the Host address is set, otherwise `false`.

The allowedSchemas parameter is only needed (and should be set to AllowExternalRegistration) if the schema of the url should be used as an External Schema by the registry.

Note: Setter function for property hostUrl.

See also hostUrl().

### `[static, since 6.7]` void QRemoteObjectHost::setLocalServerOptions(QLocalServer::SocketOptions options)

Sets the socket options for QLocalServer backends to options.

It must be set before the QRemoteObjectHost object starts listening. It has no consequence for already listening QRemoteObjectHost objects or QRemoteObjectHost objects that use different backends than QLocalServer. QRemoteObjectHost objects start to listen during construction if the address argument is non-empty, otherwise when the address is set via setHostUrl().

This function was introduced in Qt 6.7.

See also setHostUrl() and QRemoteObjectHost().