- Qt 5.15
- Qt Remote Objects
- Example 3: Connections to Remote Nodes using a Registry
- Qt 5.15.19 Reference Documentation

# Example 3: Connections to Remote Nodes using a Registry

### Set up the Source

The `simpleswitch.h` and `simpleswitch.cpp` sources from Example can be used without modification. The difference is in the way a host node is created and connected to the registry:

`main.cpp`

     #include <QCoreApplication>
     #include "simpleswitch.h"

     int main(int argc, char *argv[])
     {
         QCoreApplication a(argc, argv);

         SimpleSwitch srcSwitch; // create SimpleSwitch

         QRemoteObjectRegistryHost regNode(QUrl(QStringLiteral("local:registry"))); // create node that hosts registry
         QRemoteObjectHost srcNode(QUrl(QStringLiteral("local:switch")), QUrl(QStringLiteral("local:registry"))); // create node that will host source and connect to registry
         //Note, you can add srcSwitch directly to regNode if desired.
         //We use two Nodes here, as the regNode could easily be in a third process.

         srcNode.enableRemoting(&srcSwitch); // enable remoting of source object

         return a.exec();
     }

### Set up the Replica

The requestor object used for this example is the dynamic replica client discussed in Example 2.

The only modification is in `main.cpp`: a Registry node is created to acquire a Replica:

         QRemoteObjectNode repNode(QUrl(QStringLiteral("local:registry")));

When run together with the source-side example, the output is identical to Example 1.