QChangeArbiter Class
(Qt3D::QChangeArbiter)Acts as a message router between observables and observers. More...
Header: | #include <QChangeArbiter> |
qmake: | QT += 3dcore |
Since: | Qt 5.5 |
Inherits: | QObject and QAbstractArbiter |
Public Functions
QChangeArbiter(QObject * parent = 0) | |
~QChangeArbiter() | |
void | initialize(Qt3D::QAbstractAspectJobManager * jobManager) |
void | registerObserver(QObserverInterface * observer, const QNodeId & nodeId, ChangeFlags changeFlags = AllChanges) |
void | registerSceneObserver(QSceneObserverInterface * observer) |
QScene * | scene() const |
void | setPostman(Qt3D::QAbstractPostman * postman) |
void | setScene(Qt3D::QScene * scene) |
void | syncChanges() |
void | unregisterObserver(QObserverInterface * observer, const QNodeId & nodeId) |
void | unregisterSceneObserver(QSceneObserverInterface * observer) |
Reimplemented Public Functions
virtual QAbstractPostman * | postman() const |
virtual void | sceneChangeEvent(const QSceneChangePtr & e) |
virtual void | sceneChangeEventWithLock(const QSceneChangePtr & e) |
virtual void | sceneChangeEventWithLock(const QSceneChangeList & e) |
- 31 public functions inherited from QObject
- 1 public function inherited from Qt3D::QAbstractArbiter
- 2 public functions inherited from Qt3D::QLockableObserverInterface
- 1 public function inherited from Qt3D::QObserverInterface
Static Public Members
void | createThreadLocalChangeQueue(void * changeArbiter) |
void | createUnmanagedThreadLocalChangeQueue(void * changeArbiter) |
void | destroyThreadLocalChangeQueue(void * changeArbiter) |
void | destroyUnmanagedThreadLocalChangeQueue(void * changeArbiter) |
- 11 static public members inherited from QObject
Protected Types
typedef | QChangeQueue |
typedef | QObserverList |
typedef | QObserverPair |
Protected Functions
void | appendChangeQueue(QChangeQueue * queue) |
void | appendLockingChangeQueue(QChangeQueue * queue) |
void | distributeQueueChanges(QChangeQueue * queue) |
void | removeChangeQueue(QChangeQueue * queue) |
void | removeLockingChangeQueue(QChangeQueue * queue) |
QThreadStorage<QChangeQueue *> * | tlsChangeQueue() |
- 9 protected functions inherited from QObject
Additional Inherited Members
- 1 property inherited from QObject
- 1 public slot inherited from QObject
- 2 signals inherited from QObject
Detailed Description
Acts as a message router between observables and observers.
Observables can be of two types: QNode observables and QObservableInterfaces. QNode notifications are sent from the frontend QNode and delivered to the backend observers. QObservableInterface notifications are sent from backend nodes to backend observers and/or to the registered QPostman, which in turn delivers the notifications to the target frontend QNode.
QNode observables are registered automatically. However, QObservableInterface object have to be registered manually by providing the QNodeId of the corresponding frontend QNode.
Observers can be registered to receive messages from a QObservableInterface/QNode observable by providing a QNode NodeUuid. When a notification from a QObservableInterface is received, it is then sent to all observers observing the QNode NodeUuid as well as the QPostman to update the frontend QNode.
Member Type Documentation
typedef QChangeArbiter::QChangeQueue
typedef QChangeArbiter::QObserverList
typedef QChangeArbiter::QObserverPair
Member Function Documentation
QChangeArbiter::QChangeArbiter(QObject * parent = 0)
QChangeArbiter::~QChangeArbiter()
[protected]
void QChangeArbiter::appendChangeQueue(QChangeQueue * queue)
[protected]
void QChangeArbiter::appendLockingChangeQueue(QChangeQueue * queue)
[static]
void QChangeArbiter::createThreadLocalChangeQueue(void * changeArbiter)
[static]
void QChangeArbiter::createUnmanagedThreadLocalChangeQueue(void * changeArbiter)
[static]
void QChangeArbiter::destroyThreadLocalChangeQueue(void * changeArbiter)
[static]
void QChangeArbiter::destroyUnmanagedThreadLocalChangeQueue(void * changeArbiter)
[protected]
void QChangeArbiter::distributeQueueChanges(QChangeQueue * queue)
void QChangeArbiter::initialize(Qt3D::QAbstractAspectJobManager * jobManager)
[virtual]
QAbstractPostman * QChangeArbiter::postman() const
See also setPostman().
void QChangeArbiter::registerObserver(QObserverInterface * observer, const QNodeId & nodeId, ChangeFlags changeFlags = AllChanges)
void QChangeArbiter::registerSceneObserver(QSceneObserverInterface * observer)
[protected]
void QChangeArbiter::removeChangeQueue(QChangeQueue * queue)
[protected]
void QChangeArbiter::removeLockingChangeQueue(QChangeQueue * queue)
QScene * QChangeArbiter::scene() const
See also setScene().
[virtual]
void QChangeArbiter::sceneChangeEvent(const QSceneChangePtr & e)
[virtual]
void QChangeArbiter::sceneChangeEventWithLock(const QSceneChangePtr & e)
[virtual]
void QChangeArbiter::sceneChangeEventWithLock(const QSceneChangeList & e)
void QChangeArbiter::setPostman(Qt3D::QAbstractPostman * postman)
See also postman().
void QChangeArbiter::setScene(Qt3D::QScene * scene)
See also scene().
void QChangeArbiter::syncChanges()
[protected]
QThreadStorage<QChangeQueue *> * QChangeArbiter::tlsChangeQueue()
void QChangeArbiter::unregisterObserver(QObserverInterface * observer, const QNodeId & nodeId)
void QChangeArbiter::unregisterSceneObserver(QSceneObserverInterface * observer)
© 2016 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.