summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2019-10-21 17:01:18 +0100
committerMike Krus <mike.krus@kdab.com>2019-10-22 21:29:58 +0100
commit84766ed9098f10efc53e4e43a75eef38fce7fbf6 (patch)
treed95332be5a1b3ba77be439833f7bc18469ccce78 /src/core
parent257c9bc8b53fb62fcad6bb8977b048d3a7563469 (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.cpp30
-rw-r--r--src/core/aspects/qabstractaspect.h12
-rw-r--r--src/core/aspects/qabstractaspect_p.h12
-rw-r--r--src/core/aspects/qaspectmanager.cpp4
-rw-r--r--src/core/changes/qscenechange.h8
-rw-r--r--src/core/changes/qscenechange_p.h8
-rw-r--r--src/core/jobs/qaspectjob.cpp7
-rw-r--r--src/core/jobs/qaspectjob.h1
-rw-r--r--src/core/qchangearbiter_p.h1
-rw-r--r--src/core/qscheduler.cpp4
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