변경 사항 Qt Remote Objects

Qt 6는 프레임워크를 보다 효율적이고 사용하기 쉽게 만들기 위한 의식적인 노력의 결과입니다.

각 릴리스에서 모든 공개 API에 대해 바이너리 및 소스 호환성을 유지하려고 노력합니다. 하지만 Qt를 더 나은 프레임워크로 만들기 위해 몇 가지 변경이 불가피했습니다.

이 주제에서는 이러한 변경 사항을 Qt Remote Objects 에 요약하고 이를 처리하기 위한 지침을 제공합니다.

API 변경 사항

const-ref QString을 취하는 함수가 QStringView로 변경됨

QRemoteObjectHostBase::proxy, QRemoteObjectHostBase::reverseProxyQRemoteObjectNode::instances 은 이제 const QString & 대신 QStringView 을 허용합니다. 이로 인한 가장 큰 차이점은 더 이상 문자열 리터럴(예: node.instances("abc");)에서 암시적 변환을 허용하지 않는다는 것입니다. 대신 UTF-16 문자열 리터럴(node.instances(u"abc"))을 사용할 수 있습니다.

사용자 정의 전송 백엔드 지원을 위한 클래스 변경

"세미 비공개" IoDeviceBase, ServerIoDevice, ClientIoDevice 클래스는 이제 Qt XML의 이름 지정과 일치하도록 각각 QtROIoDeviceBase, QtROServerIoDevice, QtROClientIoDevice 로 이름이 변경되었습니다. 또한 비공개 qconnectionfactories_p.h 헤더에서 qconnectionfactories.h 으로 이동되었습니다.

참고: 이러한 클래스는 Qt Remote Objects 에 대한 사용자 정의 통신 프로토콜을 보다 유연하게 구현하기 위해 제공되지만 소스 또는 바이너리 호환성은 보장되지 않습니다. 외부 통신 채널에 대한 지원이 필요한 경우 QRemoteObjectNode::addClientSideConnection() 및 QRemoteObjectHostBase::addHostSideConnection() 메서드를 사용하는 것이 좋습니다.

C변경하기

repc를 호출하고 생성된 .rep 파일을 CMake 프로젝트에 추가하기 위한 cmake 지침이 약간 변경되었습니다. 이제 qt5_generate_repc 매크로 대신 qt6_add_repc_sources, qt6_add_repc_replicasqt6_add_repc_merged 함수를 사용해야 합니다. 예를 들어 다음 코드가

set(SOURCES
    main.cpp
    simpleswitch.cpp
)

qt5_generate_repc(SOURCES simpleswitch.rep SOURCE)
add_executable(directconnectserver ${SOURCES})

로 변경되어야 합니다:

set(SOURCES
    main.cpp
    simpleswitch.cpp
)
add_executable(directconnectserver ${SOURCES})
qt6_add_repc_sources(directconnectserver simpleswitch.rep)

이러한 CMake 함수에 대한 자세한 설명은 여기에서 확인할 수 있습니다.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.