Files
qt6-migration-pipeline/Lts/Common/LtsUtils/LtsUtilsCore/promise_examples.h
T

55 lines
1.0 KiB
C++

#pragma once
#include <QObject>
namespace LtsUtils {
class PromiseExample1_Class : public QObject {
Q_OBJECT
public:
using QObject::QObject;
void doSomethingAsync1();
void doSomethingAsync2();
signals:
void signalDone1(bool didThisWork);
void signalDone2(bool didThisWork, int someNumberThatReturns);
};
class PromiseExample1 : public QObject {
Q_OBJECT
public:
explicit PromiseExample1(QObject *parent = nullptr);
[[nodiscard]] bool isSuccess() const { return m_success; }
private:
bool m_success;
};
class PromiseExample2 : public QObject {
Q_OBJECT
public:
explicit PromiseExample2(QObject *parent = nullptr);
[[nodiscard]] bool isSuccess() const { return m_success; }
private:
bool m_success;
};
class PromiseExample3 : public QObject {
Q_OBJECT
public:
explicit PromiseExample3(QObject *parent = nullptr);
[[nodiscard]] bool isSuccess() const { return m_success; }
private:
bool m_success;
bool m_alreadyRejected;
};
} // namespace LtsUtils