diff options
author | Mike Krus <mike.krus@kdab.com> | 2020-02-27 09:59:07 +0000 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2020-03-02 06:42:37 +0000 |
commit | faca25dd611b92d81463cfda935073f73adeeb39 (patch) | |
tree | b20b37f4a83e7d9ba37298d2dd9d9b8ae00b6305 /tests/auto/core | |
parent | 5edb1cfb4322048797b8e8eea8ac531862331d95 (diff) |
Add public API for working with jobs
Existing jobs used private API for doing work after jobs were run or
controlling if running was required or not.
Make this public so that new jobs in custom aspects don't need to
use private API.
Unfortunately, this requires changing the signature of one public
method that mistakenly was using a private class as a parameter.
Change-Id: Ie8315a0f98ec48f84650163b4ac713e7e6845a92
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'tests/auto/core')
-rw-r--r-- | tests/auto/core/qscheduler/tst_qscheduler.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/tests/auto/core/qscheduler/tst_qscheduler.cpp b/tests/auto/core/qscheduler/tst_qscheduler.cpp index 5d858a77a..29603c492 100644 --- a/tests/auto/core/qscheduler/tst_qscheduler.cpp +++ b/tests/auto/core/qscheduler/tst_qscheduler.cpp @@ -30,6 +30,7 @@ #include <Qt3DCore/qaspectjob.h> #include <Qt3DCore/qabstractaspect.h> #include <Qt3DCore/private/qaspectmanager_p.h> +#include <Qt3DCore/private/qaspectengine_p.h> #include <Qt3DCore/private/qscheduler_p.h> #include <private/qabstractaspect_p.h> #include <private/qaspectjob_p.h> @@ -162,13 +163,15 @@ private Q_SLOTS: void checkScheduleAndWaitForFrameAspectJobs() { // GIVEN - QScheduler scheduler; - QAspectManager manager; + Qt3DCore::QAspectEngine engine; + auto manager = Qt3DCore::QAspectEnginePrivate::get(&engine)->m_aspectManager; + QVERIFY(manager); + manager->initialize(); + Aspect aspect; AspectPrivate *aspectPriv = static_cast<AspectPrivate *>(QObjectPrivate::get(&aspect)); - manager.registerAspect(&aspect); - scheduler.setAspectManager(&manager); + engine.registerAspect(&aspect); // THEN const JobPtr first = aspect.firstJob(); @@ -181,7 +184,7 @@ private Q_SLOTS: QVERIFY(!second->postFrameCalled()); // WHEN - const int count = scheduler.scheduleAndWaitForFrameAspectJobs(0, false); + const int count = manager->scheduler()->scheduleAndWaitForFrameAspectJobs(0, false); // THEN QCOMPARE(count, 2); @@ -192,7 +195,7 @@ private Q_SLOTS: QVERIFY(aspectPriv->jobsDoneCalled()); QVERIFY(!aspectPriv->frameDoneCalled()); - manager.unregisterAspect(&aspect); + engine.unregisterAspect(&aspect); } }; |