QRemoteObjectReplica Class
Une classe qui interagit avec (sans toutefois l'implémenter) une API Qt sur le réseau d'objets distants. En savoir plus...
| En-tête : | #include <QRemoteObjectReplica> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS RemoteObjects) target_link_libraries(mytarget PRIVATE Qt6::RemoteObjects) |
| qmake : | QT += remoteobjects |
| Hérite de : | QObject |
| Hérité par : |
Types publics
| enum | State { Uninitialized, Default, Valid, Suspect, SignatureMismatch } |
Propriétés
Fonctions publiques
| bool | isInitialized() const |
| bool | isReplicaValid() const |
| QRemoteObjectNode * | node() const |
| virtual void | setNode(QRemoteObjectNode *node) |
| QRemoteObjectReplica::State | state() const |
| bool | waitForSource(int timeout = 30000) |
Signaux
| void | initialized() |
| void | notified() |
| void | stateChanged(QRemoteObjectReplica::State state, QRemoteObjectReplica::State oldState) |
Description détaillée
Une réplique d’objet distant est un proxy QObject pour un autre QObject (appelé « objet source »). Une fois initialisée, une réplique peut être considérée comme une « copie latente » de l’objet source. Autrement dit, toute modification apportée à une Q_PROPERTY sur l’ objet source, ou tout signal émis par celui-ci, sera mis à jour ou émis par tous les objets répliques. La latence est due à la planification des processus par les systèmes d’exploitation impliqués et à la latence des communications réseau. Tant que la réplique a été initialisée et que la communication n’est pas interrompue, la réception et l’ordre des modifications sont garantis.
Les propriétés ` isInitialized ` et ` state ` (ainsi que les signaux correspondants ` initialized()` et `stateChanged()`) permettent de déterminer l’état d’une réplique.
Bien que la classe Qt Remote Objects (QtRO) gère l’initialisation et la synchronisation des objets Replica, de nombreuses étapes se déroulent en arrière-plan qui peuvent échouer et que l’on ne rencontre pas dans les applications Qt à processus unique. Consultez la section Dépannage pour obtenir des conseils sur la manière de gérer ces problèmes lors de l’utilisation d’un réseau d’objets distants.
Documentation sur les types de membres
enum QRemoteObjectReplica::State
Ce type d'énumération définit les différents codes d'état associés aux états de l'QRemoteObjectReplica:
| Constante | Valeur | Description |
|---|---|---|
QRemoteObjectReplica::Uninitialized | 0 | Valeur initiale de DynamicReplica, lorsque l'on ne dispose d'aucune information sur la réplique avant la connexion à la source. |
QRemoteObjectReplica::Default | 1 | Valeur initiale de la réplique statique, où toutes les valeurs par défaut définies dans le fichier .rep sont disponibles et peuvent donc être utilisées si nécessaire. |
QRemoteObjectReplica::Valid | 2 | Indique que la réplique est connectée, que ses propriétés ont des valeurs valides et qu’il est possible d’interagir avec elle. |
QRemoteObjectReplica::Suspect | 3 | État d’erreur qui se produit si la connexion à la source est perdue après son initialisation. |
QRemoteObjectReplica::SignatureMismatch | 4 | État d'erreur qui se produit si une connexion à la source est établie, mais que la source et la réplique ne proviennent pas du même fichier .rep (possible uniquement pour les répliques statiques). |
Documentation sur les propriétés
node : QRemoteObjectNode*
Cette propriété contient un pointeur vers le nœud à partir duquel cet objet a été obtenu.
Fonctions d'accès :
| QRemoteObjectNode * | node() const |
| virtual void | setNode(QRemoteObjectNode *node) |
[read-only] state : State
Renvoie l'état de la réplique.
Cette propriété contient l'QRemoteObjectReplica::State s relatives à la réplique.
Fonctions d'accès :
| QRemoteObjectReplica::State | state() const |
Signal de notification :
| void | stateChanged(QRemoteObjectReplica::State state, QRemoteObjectReplica::State oldState) |
Documentation des fonctions membres
[signal] void QRemoteObjectReplica::initialized()
Ce signal est émis une fois la réplique initialisée. Une réplique initialisée dispose de toutes les valeurs de propriété définies, mais n'a encore émis aucune notification de modification de propriété.
Voir également isInitialized() et stateChanged().
bool QRemoteObjectReplica::isInitialized() const
Renvoie « true » si cette réplique a été initialisée avec les données de l'objet Source. Renvoie « false » dans le cas contraire.
Voir également state().
bool QRemoteObjectReplica::isReplicaValid() const
Renvoie « true » si cette réplique a été initialisée et dispose d'une connexion valide avec l'node hébergeant la source. Renvoie « false » dans le cas contraire.
Voir également isInitialized().
[signal] void QRemoteObjectReplica::notified()
Ce signal est émis une fois que la réplique est initialisée et que toutes les notifications de modification de propriété ont été émises.
Il est parfois utile de traiter les modifications de propriétés comme des événements. Par exemple, vous pourriez vouloir afficher une notification utilisateur lorsqu’un certain changement de propriété se produit. Cependant, cette notification utilisateur serait alors également déclenchée lorsque la réplique passe pour la première fois à l’état « QRemoteObjectReplica::Valid », car tous les signaux de changement de propriété sont émis à ce moment-là. Ce n’est pas toujours souhaitable, et l’ notified permet au développeur de faire la distinction entre ces deux cas.
QRemoteObjectReplica::State QRemoteObjectReplica::state() const
Renvoie l'state s actuelle de la réplique.
Remarque : fonctiongetter pour la propriété « state ».
Voir aussi isInitialized.
[signal] void QRemoteObjectReplica::stateChanged(QRemoteObjectReplica::State state, QRemoteObjectReplica::State oldState)
Ce signal est émis chaque fois que l'état d'une réplique bascule entre QRemoteObjectReplica::State.
Le changement d'état est représenté par state et oldState.
Remarque : signalde notification pour la propriété state.
Voir également state() et initialized().
bool QRemoteObjectReplica::waitForSource(int timeout = 30000)
Appel bloquant qui attend que la réplique soit initialisée ou que le délai d'timeout (en ms) expire. Renvoie « true » si la réplique est initialisée à la fin de l'appel, « false » dans le cas contraire.
Si timeout est égal à -1, cette fonction n’expire pas.
Voir également isInitialized() et initialized().
© 2026 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.