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.
38 lines
866 B
38 lines
866 B
4 years ago
|
/* PlipInstance.h
|
||
4 years ago
|
*
|
||
|
* The main class for controlling the Plip emulation suite.
|
||
|
*/
|
||
|
|
||
|
#pragma once
|
||
|
|
||
4 years ago
|
#include <string>
|
||
4 years ago
|
|
||
4 years ago
|
#include "PlipError.h"
|
||
4 years ago
|
#include "Core/PlipCore.h"
|
||
4 years ago
|
#include "Audio/PlipAudio.h"
|
||
4 years ago
|
#include "Input/PlipInput.h"
|
||
|
#include "Video/PlipVideo.h"
|
||
4 years ago
|
|
||
4 years ago
|
namespace Plip {
|
||
4 years ago
|
class PlipInstance final {
|
||
4 years ago
|
public:
|
||
4 years ago
|
PlipInstance(PlipVideo *video, PlipAudio *audio);
|
||
4 years ago
|
|
||
4 years ago
|
static std::string GetVersion();
|
||
4 years ago
|
static std::vector<PlipCoreDescription> GetSupportedCores();
|
||
4 years ago
|
|
||
4 years ago
|
PlipAudio* GetAudio();
|
||
4 years ago
|
PlipCore* GetCore();
|
||
4 years ago
|
PlipInput* GetInput();
|
||
|
PlipVideo* GetVideo();
|
||
4 years ago
|
PlipError Load(PlipValidCore core, const std::string &path);
|
||
4 years ago
|
void Run(long ns);
|
||
4 years ago
|
|
||
|
private:
|
||
4 years ago
|
PlipAudio *m_audio;
|
||
4 years ago
|
PlipCore *m_core = nullptr;
|
||
4 years ago
|
PlipInput *m_input = new PlipInput();
|
||
4 years ago
|
PlipVideo *m_video;
|
||
4 years ago
|
};
|
||
|
}
|