@@ -5,6 +5,8 @@

#pragma once

#include <memory>

#include "Common/CommonTypes.h"

class PointerWrap;
@@ -15,6 +17,23 @@ class Mapping;

namespace AudioInterface
{
class AudioInterfaceState
{
public:
AudioInterfaceState();
AudioInterfaceState(const AudioInterfaceState&) = delete;
AudioInterfaceState(AudioInterfaceState&&) = delete;
AudioInterfaceState& operator=(const AudioInterfaceState&) = delete;
AudioInterfaceState& operator=(AudioInterfaceState&&) = delete;
~AudioInterfaceState();

struct Data;
Data& GetData() { return *m_data; }

private:
std::unique_ptr<Data> m_data;
};

void Init();
void Shutdown();
void DoState(PointerWrap& p);
@@ -7,6 +7,7 @@

#include "AudioCommon/SoundStream.h"
#include "Core/Config/MainSettings.h"
#include "Core/HW/AudioInterface.h"
#include "Core/HW/DVD/DVDInterface.h"
#include "Core/HW/DVD/DVDThread.h"

@@ -18,6 +19,7 @@ struct System::Impl
bool m_sound_stream_running = false;
bool m_audio_dump_started = false;

AudioInterface::AudioInterfaceState m_audio_interface_state;
DVDInterface::DVDInterfaceState m_dvd_interface_state;
DVDThread::DVDThreadState m_dvd_thread_state;
};
@@ -64,6 +66,11 @@ void System::SetAudioDumpStarted(bool started)
m_impl->m_audio_dump_started = started;
}

AudioInterface::AudioInterfaceState& System::GetAudioInterfaceState() const
{
return m_impl->m_audio_interface_state;
}

DVDInterface::DVDInterfaceState& System::GetDVDInterfaceState() const
{
return m_impl->m_dvd_interface_state;
@@ -7,6 +7,10 @@

class SoundStream;

namespace AudioInterface
{
class AudioInterfaceState;
};
namespace DVDInterface
{
class DVDInterfaceState;
@@ -49,6 +53,7 @@ class System
bool IsAudioDumpStarted() const;
void SetAudioDumpStarted(bool started);

AudioInterface::AudioInterfaceState& GetAudioInterfaceState() const;
DVDInterface::DVDInterfaceState& GetDVDInterfaceState() const;
DVDThread::DVDThreadState& GetDVDThreadState() const;