Класс QRemoteObjectReplica
Класс, взаимодействующий с (но не реализующим) API Qt в сети удалённых объектов Подробнее...
| Заголовок: | #include <QRemoteObjectReplica> |
| qmake: | QT += remoteobjects |
| Наследует: | QObject |
| Наследуется от: |
Открытые типы
| перечисление | State { Неинициализирован, По умолчанию, Действительный, Подозрительный, Несовпадение подписи } |
Свойства
- 1 свойство унаследовано от QObject
Открытые функции
| bool | isInitialized() const |
| bool | isReplicaValid() const |
| QRemoteObjectNode * | node() const |
| void | setNode(QRemoteObjectNode *node) |
| State | state() const |
| bool | waitForSource(int timeout = 30000) |
- 32 открытые функции унаследованы от QObject
Сигналы
| void | initialized() |
| void | stateChanged(State state, State oldState) |
- 2 сигнала унаследованы от QObject
Дополнительные унаследованные члены
- 1 открытый слот унаследован от QObject
- 11 статических открытых членов унаследованы от QObject
- 9 защищённых функций унаследованы от QObject
Подробное описание
Класс, взаимодействующий с (но не реализующим) API Qt в сети удалённых объектов
Реплика удалённого объекта — это прокси QObject для другого QObject (называемого объектом-источником). После инициализации реплика может считаться «латентной копией» объекта-источника. То есть, каждое изменение свойства Q_PROPERTY в объекте-источнике или отправленный сигнал объектом-источником будут обновлены/отправлены всеми объектами-репликами. Вносятся задержки из-за планирования задач любой ОС и задержки сетевого взаимодействия. До тех пор, пока реплика была инициализирована и связь не прервана, гарантируется получение и порядок изменений.
Свойства isInitialized и state (и соответствующие сигналы initialized()/stateChanged() ) позволяют определить состояние реплики.
Хотя Qt Удалённые объекты (QtRO) обрабатывают инициализацию и синхронизацию объектов-реплик, существует множество скрытых этапов, которые могут завершиться ошибкой, с которыми вы не сталкиваетесь в Qt приложениях одного процесса. См. Поиск и устранение неполадок, чтобы узнать, как обрабатывать такие проблемы при использовании сети удалённых объектов.
Документация по типу членов
перечисление QRemoteObjectReplica::State
Этот тип перечисления определяет различные коды состояния, связанные с состояниями QRemoteObjectReplica:
| Постоянная | Значение | Описание |
|---|---|---|
QRemoteObjectReplica::Uninitialized |
0 |
начальное значение DynamicReplica, где ничего не известно о реплике до подключения к источнику. |
QRemoteObjectReplica::Default |
1 |
начальное значение статической реплики, где доступны любые значения по умолчанию, заданные в файле .rep, чтобы можно было использовать их при необходимости. |
QRemoteObjectReplica::Valid |
2 |
указывает, что реплика подключена, имеет правильные значения свойств и с ней можно взаимодействовать. |
QRemoteObjectReplica::Suspect |
3 |
состояние ошибки, возникающее, если подключение к источнику теряется после его инициализации. |
QRemoteObjectReplica::SignatureMismatch |
4 |
состояние ошибки, возникающее, если подключение к источнику установлено, но источник и реплика не получены из одного .rep (возможно только для статических реплик). |
Документация по свойствам
node : QRemoteObjectNode *
Это свойство содержит указатель на узел, из которого был получен этот объект.
Функции доступа:
| QRemoteObjectNode * | node() const |
| void | setNode(QRemoteObjectNode *node) |
state : const State
Возвращает состояние реплики.
Это свойство содержит состояние реплики QRemoteObjectReplica::State.
Функции доступа:
| State | state() const |
Сигнал уведомления:
| void | stateChanged(State state, State oldState) |
Документация по функциям членов
[signal] void QRemoteObjectReplica::initialized()
Этот сигнал отправляется один раз, когда реплика инициализируется.
См. также isInitialized() и stateChanged().
bool QRemoteObjectReplica::isInitialized() const
Возвращает true , если эта реплика была инициализирована данными из объекта-источника. Возвращает false в противном случае.
См. также state().
bool QRemoteObjectReplica::isReplicaValid() const
Возвращает true , если эта реплика была инициализирована и имеет корректное подключение с узлом, на котором размещён объект-источник. Возвращает false в противном случае.
См. также isInitialized().
State QRemoteObjectReplica::state() const
Возвращает true , если эта реплика была инициализирована данными из объекта-источника. Возвращает false в противном случае.
Примечание: Функция-получатель для свойства state.
См. также isInitialized().
[signal] void QRemoteObjectReplica::stateChanged(State state, State oldState)
Этот сигнал отправляется всякий раз, когда состояние реплики изменяется между QRemoteObjectReplica::State.
Изменение состояния представлено параметрами state и oldState.
Примечание: Сигнал уведомления для свойства state.
См. также state() и initialized().
bool QRemoteObjectReplica::waitForSource(int timeout = 30000)
Блокирующий вызов, который ожидает, пока реплика не будет инициализирована или пока не истечёт предельный срок ожидания (в мс). Возвращает true, если реплика инициализирована при завершении вызова, false в противном случае.
Если предельный срок ожидания равен -1, эта функция не будет ограничена по времени.
См. также isInitialized() и initialized().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qremoteobjectreplica.html