saved snapshot for naloga2

This commit is contained in:
zanostro 2025-12-07 11:33:03 +01:00
parent e764bf53e7
commit 9e7a9101b0
35 changed files with 4928 additions and 0 deletions

View file

@ -0,0 +1,34 @@
#ifndef MACHINECONTROLLER_H
#define MACHINECONTROLLER_H
#include <QObject>
#include <atomic>
#include <thread>
#include <memory>
class Machine;
class MachineController : public QObject {
Q_OBJECT
public:
explicit MachineController(std::shared_ptr<Machine> machine = nullptr, QObject *parent = nullptr);
~MachineController() override;
void start();
void stop();
void step();
signals:
void tick();
void error(const QString &msg);
private:
void runLoop();
std::atomic<bool> m_running{false};
std::thread m_thread;
std::shared_ptr<Machine> m_machine;
std::atomic<int> m_ticksSinceLastUpdate{0};
std::chrono::steady_clock::time_point m_lastUpdateTime;
};
#endif // MACHINECONTROLLER_H