DSPEmulator: Make CreateDSPEmulator return a unique_ptr

This commit is contained in:
Lioncash 2016-01-17 22:33:21 -05:00
parent 24c228c6e9
commit 2ff5923334
3 changed files with 15 additions and 14 deletions

View File

@ -2,15 +2,16 @@
// Licensed under GPLv2+
// Refer to the license.txt file included.
#include "Core/DSPEmulator.h"
#include <memory>
#include "Core/DSPEmulator.h"
#include "Core/HW/DSPHLE/DSPHLE.h"
#include "Core/HW/DSPLLE/DSPLLE.h"
DSPEmulator *CreateDSPEmulator(bool HLE)
std::unique_ptr<DSPEmulator> CreateDSPEmulator(bool hle)
{
if (HLE)
return new DSPHLE();
else
return new DSPLLE();
if (hle)
return std::make_unique<DSPHLE>();
return std::make_unique<DSPLLE>();
}

View File

@ -4,6 +4,7 @@
#pragma once
#include <memory>
#include "Common/CommonTypes.h"
class PointerWrap;
@ -32,4 +33,4 @@ public:
virtual u32 DSP_UpdateRate() = 0;
};
DSPEmulator *CreateDSPEmulator(bool HLE);
std::unique_ptr<DSPEmulator> CreateDSPEmulator(bool hle);

View File

@ -23,11 +23,11 @@
// the just used buffer through the AXList (or whatever it might be called in
// Nintendo games).
#include "AudioCommon/AudioCommon.h"
#include <memory>
#include "AudioCommon/AudioCommon.h"
#include "Common/CommonTypes.h"
#include "Common/MemoryUtil.h"
#include "Core/ConfigManager.h"
#include "Core/CoreTiming.h"
#include "Core/DSPEmulator.h"
@ -167,7 +167,7 @@ static ARAM_Info g_ARAM_Info;
static u16 g_AR_MODE;
static u16 g_AR_REFRESH;
static DSPEmulator *dsp_emulator;
static std::unique_ptr<DSPEmulator> dsp_emulator;
static int dsp_slice = 0;
static bool dsp_is_lle = false;
@ -230,9 +230,9 @@ void FlushInstantDMA(u32 address)
}
}
DSPEmulator *GetDSPEmulator()
DSPEmulator* GetDSPEmulator()
{
return dsp_emulator;
return dsp_emulator.get();
}
void Init(bool hle)
@ -284,8 +284,7 @@ void Shutdown()
}
dsp_emulator->Shutdown();
delete dsp_emulator;
dsp_emulator = nullptr;
dsp_emulator.reset();
}
void RegisterMMIO(MMIO::Mapping* mmio, u32 base)