2022-01-14 15:02:11 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "signal/Signal.h"
|
|
|
|
|
|
|
|
class CVirtualMachine
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
enum STATUS
|
|
|
|
{
|
|
|
|
RUNNING = 1,
|
|
|
|
PAUSED = 2,
|
|
|
|
};
|
|
|
|
|
|
|
|
virtual ~CVirtualMachine() = default;
|
|
|
|
virtual STATUS GetStatus() const = 0;
|
|
|
|
virtual void Pause() = 0;
|
|
|
|
virtual void Resume() = 0;
|
|
|
|
|
2022-01-18 17:45:57 +00:00
|
|
|
using MachineStateChangeEvent = Framework::CSignal<void()>;
|
|
|
|
MachineStateChangeEvent OnMachineStateChange;
|
2022-01-14 15:02:49 +00:00
|
|
|
using RunningStateChangeEvent = Framework::CSignal<void()>;
|
|
|
|
RunningStateChangeEvent OnRunningStateChange;
|
2022-01-14 15:02:11 +00:00
|
|
|
};
|