C
Qt Quick Ultralite multitask Example
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial
#include "qul_thread.h"
#include <qul/application.h>
#include <qul/qul.h>
#include "led.h"
#include "multitask.h"
#include "hardwarecontrol.h"
void HardwareControlEventQueue::onEvent(const HardwareEvent &event)
{
if (event.id == HardwareEventId::LedCycleCount)
HardwareControl::instance().ledCycleCount.setValue(event.data);
else if (event.id == HardwareEventId::FanRotationPeriod)
HardwareControl::instance().fanRotationPeriodChanged(event.data);
}
void postEventsToUI(HardwareEvent &event)
{
static HardwareControlEventQueue eventQueue;
eventQueue.postEvent(event);
}
void Qul_Thread(void *arg1, void *arg2, void *arg3)
{
(void) arg1;
(void) arg2;
(void) arg3;
Qul::Application app;
static multitask item;
app.setRootItem(&item);
app.exec();
}