Qt 6 is a result of the conscious effort to make the framework more efficient and easy to use.
We try to maintain binary and source compatibility for all the public APIs in each release. But some changes were inevitable in an effort to make Qt a better framework.
In this topic we summarize those changes in Qt Remote Objects, and provide guidance to handle them.
QRemoteObjectHostBase::proxy, QRemoteObjectHostBase::reverseProxy and QRemoteObjectNode::instances now accept a QStringView instead of const QString &
. The largest difference caused by this is that it no
longer accepts implicit conversion from string literals (i.e. node.instances("abc");
). Instead, you could use a UTF-16 string literal (node.instances(u"abc")
).
The "semi-private" IoDeviceBase
, ServerIoDevice
, and ClientIoDevice
classes are now renamed to QtROIoDeviceBase
, QtROServerIoDevice
, and
QtROClientIoDevice
respectively, to be consistent with naming in Qt. They are also moved from the private qconnectionfactories_p.h
header to qconnectionfactories.h
.
Note: These classes are provided to give more flexibility for implementing custom communication protocols for Qt Remote Objects, but there are no source or binary compatibility guarantees for them. We recommend using the QRemoteObjectNode::addClientSideConnection() and QRemoteObjectHostBase::addHostSideConnection() methods, if you need support for external communication channels.
The cmake
instructions for calling repc and adding the generated .rep
files to a CMake project have slightly changed. Instead of the
qt5_generate_repc
macro, you should now use qt6_add_repc_sources
, qt6_add_repc_replicas
and qt6_add_repc_merged
functions. For example, the following code:
set(SOURCES main.cpp simpleswitch.cpp ) qt5_generate_repc(SOURCES simpleswitch.rep SOURCE) add_executable(directconnectserver ${SOURCES})
Should change to:
set(SOURCES main.cpp simpleswitch.cpp ) add_executable(directconnectserver ${SOURCES}) qt6_add_repc_sources(directconnectserver simpleswitch.rep)
More detailed descriptions for these CMake functions can be found here.
As part of the free Business evaluation, we offer a free welcome call for companies, to talk about your requirements, and how the Felgo SDK & Services can help you. Just sign up and schedule your call.
Sign up now to start your free Business evaluation: