You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
866 B
37 lines
866 B
/* PlipInstance.h |
|
* |
|
* The main class for controlling the Plip emulation suite. |
|
*/ |
|
|
|
#pragma once |
|
|
|
#include <string> |
|
|
|
#include "PlipError.h" |
|
#include "Core/PlipCore.h" |
|
#include "Audio/PlipAudio.h" |
|
#include "Input/PlipInput.h" |
|
#include "Video/PlipVideo.h" |
|
|
|
namespace Plip { |
|
class PlipInstance final { |
|
public: |
|
PlipInstance(PlipVideo *video, PlipAudio *audio); |
|
|
|
static std::string GetVersion(); |
|
static std::vector<PlipCoreDescription> GetSupportedCores(); |
|
|
|
PlipAudio* GetAudio(); |
|
PlipCore* GetCore(); |
|
PlipInput* GetInput(); |
|
PlipVideo* GetVideo(); |
|
PlipError Load(PlipValidCore core, const std::string &path); |
|
void Run(long ns); |
|
|
|
private: |
|
PlipAudio *m_audio; |
|
PlipCore *m_core = nullptr; |
|
PlipInput *m_input = new PlipInput(); |
|
PlipVideo *m_video; |
|
}; |
|
}
|
|
|