diff options
author | Mike Krus <mike.krus@kdab.com> | 2019-10-21 17:01:18 +0100 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2019-10-22 21:29:58 +0100 |
commit | 84766ed9098f10efc53e4e43a75eef38fce7fbf6 (patch) | |
tree | d95332be5a1b3ba77be439833f7bc18469ccce78 /src/core | |
parent | 257c9bc8b53fb62fcad6bb8977b048d3a7563469 (diff) |
Fix post FF API changes
Change-Id: I347f6df41c0a4f2295831e78248669b4a2d6b5ef
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/aspects/qabstractaspect.cpp | 30 | ||||
-rw-r--r-- | src/core/aspects/qabstractaspect.h | 12 | ||||
-rw-r--r-- | src/core/aspects/qabstractaspect_p.h | 12 | ||||
-rw-r--r-- | src/core/aspects/qaspectmanager.cpp | 4 | ||||
-rw-r--r-- | src/core/changes/qscenechange.h | 8 | ||||
-rw-r--r-- | src/core/changes/qscenechange_p.h | 8 | ||||
-rw-r--r-- | src/core/jobs/qaspectjob.cpp | 7 | ||||
-rw-r--r-- | src/core/jobs/qaspectjob.h | 1 | ||||
-rw-r--r-- | src/core/qchangearbiter_p.h | 1 | ||||
-rw-r--r-- | src/core/qscheduler.cpp | 4 |
10 files changed, 33 insertions, 54 deletions
diff --git a/src/core/aspects/qabstractaspect.cpp b/src/core/aspects/qabstractaspect.cpp index 05afdd293..19b6f70c1 100644 --- a/src/core/aspects/qabstractaspect.cpp +++ b/src/core/aspects/qabstractaspect.cpp @@ -92,6 +92,13 @@ void QAbstractAspectPrivate::onEngineAboutToShutdown() } /*! \internal */ +void QAbstractAspectPrivate::registerBackendType(const QMetaObject &obj, const QBackendNodeMapperPtr &functor, bool supportsSyncing) +{ + const auto f = supportsSyncing ? QAbstractAspectPrivate::SupportsSyncing : QAbstractAspectPrivate::DefaultMapper; + m_backendCreatorFunctors.insert(&obj, {functor, f}); +} + +/*! \internal */ void QAbstractAspectPrivate::unregisterBackendType(const QMetaObject &mo) { m_backendCreatorFunctors.remove(&mo); @@ -183,13 +190,6 @@ void QAbstractAspect::registerBackendType(const QMetaObject &obj, const QBackend d->m_backendCreatorFunctors.insert(&obj, {functor, QAbstractAspectPrivate::DefaultMapper}); } -void QAbstractAspect::registerBackendType(const QMetaObject &obj, const QBackendNodeMapperPtr &functor, bool supportsSyncing) -{ - Q_D(QAbstractAspect); - const auto f = supportsSyncing ? QAbstractAspectPrivate::SupportsSyncing : QAbstractAspectPrivate::DefaultMapper; - d->m_backendCreatorFunctors.insert(&obj, {functor, f}); -} - void QAbstractAspect::unregisterBackendType(const QMetaObject &obj) { Q_D(QAbstractAspect); @@ -198,28 +198,16 @@ void QAbstractAspect::unregisterBackendType(const QMetaObject &obj) QVariant QAbstractAspect::executeCommand(const QStringList &args) { - Q_UNUSED(args); + Q_UNUSED(args) return QVariant(); } QVector<QAspectJobPtr> QAbstractAspect::jobsToExecute(qint64 time) { - Q_UNUSED(time); + Q_UNUSED(time) return QVector<QAspectJobPtr>(); } -void QAbstractAspect::syncDirtyFrontEndNodes(const QVector<QNode *> &nodes) -{ - Q_D(QAbstractAspect); - d->syncDirtyFrontEndNodes(nodes); -} - -void QAbstractAspect::syncDirtyFrontEndSubNodes(const QVector<NodeRelationshipChange> &nodes) -{ - Q_D(QAbstractAspect); - d->syncDirtyFrontEndSubNodes(nodes); -} - QAbstractAspectPrivate::BackendNodeMapperAndInfo QAbstractAspectPrivate::mapperForNode(const QMetaObject *metaObj) const { Q_ASSERT(metaObj); diff --git a/src/core/aspects/qabstractaspect.h b/src/core/aspects/qabstractaspect.h index 8059421a6..cb3d02089 100644 --- a/src/core/aspects/qabstractaspect.h +++ b/src/core/aspects/qabstractaspect.h @@ -78,18 +78,12 @@ protected: template<class Frontend> void registerBackendType(const QBackendNodeMapperPtr &functor); - template<class Frontend, bool supportsSyncing> - void registerBackendType(const QBackendNodeMapperPtr &functor); void registerBackendType(const QMetaObject &obj, const QBackendNodeMapperPtr &functor); - void registerBackendType(const QMetaObject &obj, const QBackendNodeMapperPtr &functor, bool supportsSyncing); template<class Frontend> void unregisterBackendType(); void unregisterBackendType(const QMetaObject &); private: - void syncDirtyFrontEndNodes(const QVector<QNode *> &nodes); - void syncDirtyFrontEndSubNodes(const QVector<NodeRelationshipChange> &nodes); - virtual QVariant executeCommand(const QStringList &args); virtual QVector<QAspectJobPtr> jobsToExecute(qint64 time); @@ -111,12 +105,6 @@ void QAbstractAspect::registerBackendType(const QBackendNodeMapperPtr &functor) registerBackendType(Frontend::staticMetaObject, functor); } -template<class Frontend, bool supportsSyncing> -void QAbstractAspect::registerBackendType(const QBackendNodeMapperPtr &functor) -{ - registerBackendType(Frontend::staticMetaObject, functor, supportsSyncing); -} - template<class Frontend> void QAbstractAspect::unregisterBackendType() { diff --git a/src/core/aspects/qabstractaspect_p.h b/src/core/aspects/qabstractaspect_p.h index 670302cfa..325fca678 100644 --- a/src/core/aspects/qabstractaspect_p.h +++ b/src/core/aspects/qabstractaspect_p.h @@ -57,6 +57,7 @@ #include <Qt3DCore/private/qaspectjobproviderinterface_p.h> #include <Qt3DCore/private/qbackendnode_p.h> #include <Qt3DCore/private/qt3dcore_global_p.h> +#include <Qt3DCore/private/qscenechange_p.h> #include <QtCore/private/qobject_p.h> #include <QMutex> @@ -136,7 +137,10 @@ public: virtual void onEngineAboutToShutdown(); - // TODO: Make these public in 5.8 + // TODO: Make public at some point + template<class Frontend, bool supportsSyncing> + void registerBackendType(const QBackendNodeMapperPtr &functor); + void registerBackendType(const QMetaObject &obj, const QBackendNodeMapperPtr &functor, bool supportsSyncing); template<class Frontend> void unregisterBackendType(); void unregisterBackendType(const QMetaObject &mo); @@ -162,6 +166,12 @@ public: static QAbstractAspectPrivate *get(QAbstractAspect *aspect); }; +template<class Frontend, bool supportsSyncing> +void QAbstractAspectPrivate::registerBackendType(const QBackendNodeMapperPtr &functor) +{ + registerBackendType(Frontend::staticMetaObject, functor, supportsSyncing); +} + template<class Frontend> void QAbstractAspectPrivate::unregisterBackendType() { diff --git a/src/core/aspects/qaspectmanager.cpp b/src/core/aspects/qaspectmanager.cpp index 027264977..dffdd1c1a 100644 --- a/src/core/aspects/qaspectmanager.cpp +++ b/src/core/aspects/qaspectmanager.cpp @@ -480,13 +480,13 @@ void QAspectManager::processFrame() const auto dirtySubNodes = m_changeArbiter->takeDirtyFrontEndSubNodes(); if (dirtySubNodes.size()) for (QAbstractAspect *aspect : qAsConst(m_aspects)) - aspect->syncDirtyFrontEndSubNodes(dirtySubNodes); + QAbstractAspectPrivate::get(aspect)->syncDirtyFrontEndSubNodes(dirtySubNodes); // Sync property updates const auto dirtyFrontEndNodes = m_changeArbiter->takeDirtyFrontEndNodes(); if (dirtyFrontEndNodes.size()) for (QAbstractAspect *aspect : qAsConst(m_aspects)) - aspect->syncDirtyFrontEndNodes(dirtyFrontEndNodes); + QAbstractAspectPrivate::get(aspect)->syncDirtyFrontEndNodes(dirtyFrontEndNodes); // TO DO: Having this done in the main thread actually means aspects could just // as simply read info out of the Frontend classes without risk of introducing diff --git a/src/core/changes/qscenechange.h b/src/core/changes/qscenechange.h index e8c0ea748..4a0740819 100644 --- a/src/core/changes/qscenechange.h +++ b/src/core/changes/qscenechange.h @@ -64,14 +64,6 @@ Q_DECLARE_FLAGS(ChangeFlags, ChangeFlag) Q_DECLARE_OPERATORS_FOR_FLAGS(ChangeFlags) class QNode; -//! internal -struct NodeRelationshipChange { - QNode *node; - QNode *subNode; - ChangeFlag change; - const char *property; -}; - class QSceneChangePrivate; class Q_3DCORESHARED_EXPORT QSceneChange diff --git a/src/core/changes/qscenechange_p.h b/src/core/changes/qscenechange_p.h index d32f6eec3..358beab49 100644 --- a/src/core/changes/qscenechange_p.h +++ b/src/core/changes/qscenechange_p.h @@ -60,6 +60,14 @@ QT_BEGIN_NAMESPACE namespace Qt3DCore { +//! internal +struct NodeRelationshipChange { + QNode *node; + QNode *subNode; + ChangeFlag change; + const char *property; +}; + class QSceneChange; class QNodeId; diff --git a/src/core/jobs/qaspectjob.cpp b/src/core/jobs/qaspectjob.cpp index 00ad1ace8..318a431ac 100644 --- a/src/core/jobs/qaspectjob.cpp +++ b/src/core/jobs/qaspectjob.cpp @@ -140,13 +140,6 @@ QVector<QWeakPointer<QAspectJob> > QAspectJob::dependencies() const return d->m_dependencies; } -void QAspectJob::postFrame(QAspectManager *aspectManager) -{ - Q_D(QAspectJob); - if (aspectManager) - d->postFrame(aspectManager); -} - } // namespace Qt3DCore QT_END_NAMESPACE diff --git a/src/core/jobs/qaspectjob.h b/src/core/jobs/qaspectjob.h index 7cc784e0f..deb8cf2ed 100644 --- a/src/core/jobs/qaspectjob.h +++ b/src/core/jobs/qaspectjob.h @@ -63,7 +63,6 @@ public: QVector<QWeakPointer<QAspectJob> > dependencies() const; virtual void run() = 0; - void postFrame(QAspectManager *aspectManager); protected: explicit QAspectJob(QAspectJobPrivate &dd); diff --git a/src/core/qchangearbiter_p.h b/src/core/qchangearbiter_p.h index f31480685..81f33f625 100644 --- a/src/core/qchangearbiter_p.h +++ b/src/core/qchangearbiter_p.h @@ -53,6 +53,7 @@ #include <Qt3DCore/qnodeid.h> #include <Qt3DCore/qscenechange.h> +#include <Qt3DCore/private/qscenechange_p.h> #include <QtCore/QFlags> #include <QtCore/QMutex> #include <QtCore/QObject> diff --git a/src/core/qscheduler.cpp b/src/core/qscheduler.cpp index edfbb391c..e714e477d 100644 --- a/src/core/qscheduler.cpp +++ b/src/core/qscheduler.cpp @@ -40,7 +40,7 @@ #include "qscheduler_p.h" #include <Qt3DCore/qabstractaspect.h> - +#include <Qt3DCore/private/qaspectjob_p.h> #include <Qt3DCore/private/qabstractaspect_p.h> #include <Qt3DCore/private/qaspectmanager_p.h> #include <Qt3DCore/private/qabstractaspectjobmanager_p.h> @@ -93,7 +93,7 @@ void QScheduler::scheduleAndWaitForFrameAspectJobs(qint64 time) m_aspectManager->jobManager()->waitForAllJobs(); for (auto &job : qAsConst(jobQueue)) - job->postFrame(m_aspectManager); + QAspectJobPrivate::get(job.data())->postFrame(m_aspectManager); } } // namespace Qt3DCore |