summaryrefslogtreecommitdiffstats
path: root/src/core/aspects
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2019-12-02 19:49:40 +0000
committerMike Krus <mike.krus@kdab.com>2019-12-03 09:07:36 +0000
commit568b2d62e6e07b40d602bcd2a1c2e8e566c41b9f (patch)
tree9cadf41046830668d77884b8d4f80803d1152ae9 /src/core/aspects
parentac70d64a037e58a1e8c0fdebc83809f50948f742 (diff)
Revert "Fix post FF API changes"
84766ed9098f10efc53e4e43a75eef38fce7fbf6 Change-Id: I12341ec1b7bc68a7586c6671aa7b8f21caed17e0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/core/aspects')
-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
4 files changed, 36 insertions, 22 deletions
diff --git a/src/core/aspects/qabstractaspect.cpp b/src/core/aspects/qabstractaspect.cpp
index 6e0d3bd02..e2bb4c9c7 100644
--- a/src/core/aspects/qabstractaspect.cpp
+++ b/src/core/aspects/qabstractaspect.cpp
@@ -92,13 +92,6 @@ 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);
@@ -190,6 +183,13 @@ 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,16 +198,28 @@ 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 cb3d02089..8059421a6 100644
--- a/src/core/aspects/qabstractaspect.h
+++ b/src/core/aspects/qabstractaspect.h
@@ -78,12 +78,18 @@ 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);
@@ -105,6 +111,12 @@ 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 b4120cb20..b8ef5dbb6 100644
--- a/src/core/aspects/qabstractaspect_p.h
+++ b/src/core/aspects/qabstractaspect_p.h
@@ -57,7 +57,6 @@
#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>
@@ -138,10 +137,7 @@ public:
virtual void onEngineAboutToShutdown();
- // 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);
+ // TODO: Make these public in 5.8
template<class Frontend>
void unregisterBackendType();
void unregisterBackendType(const QMetaObject &mo);
@@ -167,12 +163,6 @@ 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 f24248399..5c83e0799 100644
--- a/src/core/aspects/qaspectmanager.cpp
+++ b/src/core/aspects/qaspectmanager.cpp
@@ -484,13 +484,13 @@ void QAspectManager::processFrame()
const auto dirtySubNodes = m_changeArbiter->takeDirtyFrontEndSubNodes();
if (dirtySubNodes.size())
for (QAbstractAspect *aspect : qAsConst(m_aspects))
- QAbstractAspectPrivate::get(aspect)->syncDirtyFrontEndSubNodes(dirtySubNodes);
+ aspect->syncDirtyFrontEndSubNodes(dirtySubNodes);
// Sync property updates
const auto dirtyFrontEndNodes = m_changeArbiter->takeDirtyFrontEndNodes();
if (dirtyFrontEndNodes.size())
for (QAbstractAspect *aspect : qAsConst(m_aspects))
- QAbstractAspectPrivate::get(aspect)->syncDirtyFrontEndNodes(dirtyFrontEndNodes);
+ 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