QRemoteObjectReplica Class
A class interacting with (but not implementing) a Qt API on the Remote Object network 更多...
头文件: | #include <QRemoteObjectReplica> |
qmake: | QT += remoteobjects |
基类: | QObject |
派生类: |
公有类型
enum | State { Uninitialized, Default, Valid, Suspect, SignatureMismatch } |
属性
- 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
- 1 个公有变量继承自 QObject
- 10 个静态公有成员继承自 QObject
- 9 个受保护的函数继承自 QObject
- 2 个受保护的变量继承自 QObject
详细描述
A class interacting with (but not implementing) a Qt API on the Remote Object network
A Remote Object Replica is a QObject proxy for another QObject (called the Source object). Once initialized, a replica can be considered a "latent copy" of the Source object. That is, every change to a Q_PROPERTY on the Source, or signal emitted by the Source will be updated/emitted by all Replica objects. Latency is introduced by process scheduling by any OSes involved and network communication latency. As long as the replica has been initialized and the communication is not disrupted, receipt and order of changes is guaranteed.
The isInitialized and state properties (and corresponding initialized()/stateChanged() signals) allow the state of a Replica to be determined.
While Qt Remote Objects (QtRO) handles the initialization and synchronization of Replica objects, there are numerous steps happening behind the scenes which can fail and that aren't encountered in single process Qt applications. See Troubleshooting for advice on how to handle such issues when using a remote objects network.
成员类型
enum QRemoteObjectReplica::State
This enum type specifies the various state codes associated with QRemoteObjectReplica states:
Constant | Value | Description |
---|---|---|
QRemoteObjectReplica::Uninitialized | 0 | initial value of DynamicReplica, where nothing is known about the replica before connection to source. |
QRemoteObjectReplica::Default | 1 | initial value of static replica, where any defaults set in the .rep file are available so it can be used if necessary. |
QRemoteObjectReplica::Valid | 2 | indicates the replica is connected, has good property values and can be interacted with. |
QRemoteObjectReplica::Suspect | 3 | error state that occurs if the connection to the source is lost after it is initialized. |
QRemoteObjectReplica::SignatureMismatch | 4 | error state that occurs if a connection to the source is made, but the source and replica are not derived from the same .rep (only possible for static Replicas). |
属性
node : QRemoteObjectNode *
This property holds a pointer to the node this object was acquired from.
访问函数:
QRemoteObjectNode * | node() const |
void | setNode(QRemoteObjectNode *node) |
state : const State
Returns the replica state.
This property holds the replica QRemoteObjectReplica::State.
访问函数:
State | state() const |
Notifier signal:
void | stateChanged(State state, State oldState) |
成员函数
[signal]
void QRemoteObjectReplica::initialized()
This signal is emitted once the replica is initialized.
参见 isInitialized() and stateChanged().
bool QRemoteObjectReplica::isInitialized() const
Returns true
if this replica has been initialized with data from the Source object. Returns false
otherwise.
参见 state().
bool QRemoteObjectReplica::isReplicaValid() const
Returns true
if this replica has been initialized and has a valid connection with the node hosting the Source. Returns false
otherwise.
参见 isInitialized().
State QRemoteObjectReplica::state() const
Returns true
if this replica has been initialized with data from the Source object. Returns false
otherwise.
Note: Getter function for property state.
参见 isInitialized().
[signal]
void QRemoteObjectReplica::stateChanged(State state, State oldState)
This signal is emitted whenever a replica's state toggles between QRemoteObjectReplica::State.
The change in state is represented with state and oldState.
Note: Notifier signal for property state.
参见 state() and initialized().
bool QRemoteObjectReplica::waitForSource(int timeout = 30000)
Blocking call that waits for the replica to become initialized or until the timeout (in ms) expires. Returns true
if the replica is initialized when the call completes, false
otherwise.
If timeout is -1, this function will not time out.
参见 isInitialized() and initialized().