Merge pull request #13522 from tygyh/Enforce-overriding-destructor-style-Core&UnitTests

Core & UnitTests: Make overriding explicit and remove redundant virtual specifiers on overriding destructors
This commit is contained in:
Jordan Woyak
2025-06-07 17:55:14 -05:00
committed by GitHub
126 changed files with 188 additions and 192 deletions

View File

@ -32,7 +32,7 @@ class WASAPIStream final : public SoundStream
#ifdef _WIN32 #ifdef _WIN32
public: public:
explicit WASAPIStream(); explicit WASAPIStream();
~WASAPIStream(); ~WASAPIStream() override;
bool Init() override; bool Init() override;
bool SetRunning(bool running) override; bool SetRunning(bool running) override;

View File

@ -31,7 +31,7 @@ public:
{ {
m_active_block = &m_output_result.blocks.emplace_back(base_addr); m_active_block = &m_output_result.blocks.emplace_back(base_addr);
} }
virtual ~GekkoIRPlugin() = default; ~GekkoIRPlugin() override = default;
void OnDirectivePre(GekkoDirective directive) override; void OnDirectivePre(GekkoDirective directive) override;
void OnDirectivePost(GekkoDirective directive) override; void OnDirectivePost(GekkoDirective directive) override;

View File

@ -46,8 +46,7 @@ public:
ASSERT(!mbedtls_aes_setkey_dec(&ctx, key, 128)); ASSERT(!mbedtls_aes_setkey_dec(&ctx, key, 128));
} }
virtual bool Crypt(const u8* iv, u8* iv_out, const u8* buf_in, u8* buf_out, bool Crypt(const u8* iv, u8* iv_out, const u8* buf_in, u8* buf_out, size_t len) const override
size_t len) const override
{ {
std::array<u8, BLOCK_SIZE> iv_tmp{}; std::array<u8, BLOCK_SIZE> iv_tmp{};
if (iv) if (iv)
@ -206,8 +205,7 @@ public:
_mm_storeu_si128(&((__m128i*)buf_out)[d], block[d]); _mm_storeu_si128(&((__m128i*)buf_out)[d], block[d]);
} }
virtual bool Crypt(const u8* iv, u8* iv_out, const u8* buf_in, u8* buf_out, bool Crypt(const u8* iv, u8* iv_out, const u8* buf_in, u8* buf_out, size_t len) const override
size_t len) const override
{ {
if (len % BLOCK_SIZE) if (len % BLOCK_SIZE)
return false; return false;

View File

@ -41,18 +41,18 @@ public:
mbedtls_sha1_init(&ctx); mbedtls_sha1_init(&ctx);
ASSERT(!mbedtls_sha1_starts_ret(&ctx)); ASSERT(!mbedtls_sha1_starts_ret(&ctx));
} }
~ContextMbed() { mbedtls_sha1_free(&ctx); } ~ContextMbed() override { mbedtls_sha1_free(&ctx); }
virtual void Update(const u8* msg, size_t len) override void Update(const u8* msg, size_t len) override
{ {
ASSERT(!mbedtls_sha1_update_ret(&ctx, msg, len)); ASSERT(!mbedtls_sha1_update_ret(&ctx, msg, len));
} }
virtual Digest Finish() override Digest Finish() override
{ {
Digest digest; Digest digest;
ASSERT(!mbedtls_sha1_finish_ret(&ctx, digest.data())); ASSERT(!mbedtls_sha1_finish_ret(&ctx, digest.data()));
return digest; return digest;
} }
virtual bool HwAccelerated() const override { return false; } bool HwAccelerated() const override { return false; }
private: private:
mbedtls_sha1_context ctx{}; mbedtls_sha1_context ctx{};
@ -204,7 +204,7 @@ private:
} }
ATTRIBUTE_TARGET("sha") ATTRIBUTE_TARGET("sha")
virtual void ProcessBlock(const u8* msg) override void ProcessBlock(const u8* msg) override
{ {
// There are 80 rounds with 4 bytes per round, giving 0x140 byte work space, but we can keep // There are 80 rounds with 4 bytes per round, giving 0x140 byte work space, but we can keep
// active state in just 0x40 bytes. // active state in just 0x40 bytes.
@ -248,7 +248,7 @@ private:
// clang-format on // clang-format on
} }
virtual Digest GetDigest() override Digest GetDigest() override
{ {
Digest digest; Digest digest;
_mm_storeu_si128((__m128i*)&digest[0], byterev_16B(state[0])); _mm_storeu_si128((__m128i*)&digest[0], byterev_16B(state[0]));
@ -257,7 +257,7 @@ private:
return digest; return digest;
} }
virtual bool HwAccelerated() const override { return true; } bool HwAccelerated() const override { return true; }
std::array<XmmReg, 2> state{}; std::array<XmmReg, 2> state{};
}; };

View File

@ -10,9 +10,9 @@
class GLContextWGL final : public GLContext class GLContextWGL final : public GLContext
{ {
public: public:
~GLContextWGL(); ~GLContextWGL() override;
bool IsHeadless() const; bool IsHeadless() const override;
std::unique_ptr<GLContext> CreateSharedContext() override; std::unique_ptr<GLContext> CreateSharedContext() override;

View File

@ -101,7 +101,7 @@ class HostDisassemblerBochs final : public HostDisassembler
{ {
public: public:
explicit HostDisassemblerBochs(); explicit HostDisassemblerBochs();
~HostDisassemblerBochs() = default; ~HostDisassemblerBochs() override = default;
private: private:
disassembler m_disasm; disassembler m_disasm;

View File

@ -9,7 +9,7 @@ class ConsoleListener : public Common::Log::LogListener
{ {
public: public:
ConsoleListener(); ConsoleListener();
~ConsoleListener(); ~ConsoleListener() override;
void Log(Common::Log::LogLevel level, const char* text) override; void Log(Common::Log::LogLevel level, const char* text) override;

View File

@ -20,7 +20,7 @@ public:
explicit DolReader(const std::string& filename); explicit DolReader(const std::string& filename);
explicit DolReader(File::IOFile file); explicit DolReader(File::IOFile file);
explicit DolReader(std::vector<u8> buffer); explicit DolReader(std::vector<u8> buffer);
~DolReader(); ~DolReader() override;
bool IsValid() const override { return m_is_valid; } bool IsValid() const override { return m_is_valid; }
bool IsWii() const override { return m_is_wii; } bool IsWii() const override { return m_is_wii; }

View File

@ -28,7 +28,7 @@ public:
explicit ElfReader(const std::string& filename); explicit ElfReader(const std::string& filename);
explicit ElfReader(File::IOFile file); explicit ElfReader(File::IOFile file);
explicit ElfReader(std::vector<u8> buffer); explicit ElfReader(std::vector<u8> buffer);
~ElfReader(); ~ElfReader() override;
u32 Read32(int off) const { return base32[off >> 2]; } u32 Read32(int off) const { return base32[off >> 2]; }
// Quick accessors // Quick accessors
ElfType GetType() const { return (ElfType)(header->e_type); } ElfType GetType() const { return (ElfType)(header->e_type); }

View File

@ -132,7 +132,7 @@ class OSThreadView : public Common::Debug::ThreadView
{ {
public: public:
explicit OSThreadView(const Core::CPUThreadGuard& guard, u32 addr); explicit OSThreadView(const Core::CPUThreadGuard& guard, u32 addr);
~OSThreadView() = default; ~OSThreadView() override = default;
const OSThread& Data() const; const OSThread& Data() const;

View File

@ -220,7 +220,7 @@ class FifoPlayer::CPUCore final : public CPUCoreBase
public: public:
explicit CPUCore(FifoPlayer* parent) : m_parent(parent) {} explicit CPUCore(FifoPlayer* parent) : m_parent(parent) {}
CPUCore(const CPUCore&) = delete; CPUCore(const CPUCore&) = delete;
~CPUCore() {} ~CPUCore() override {}
CPUCore& operator=(const CPUCore&) = delete; CPUCore& operator=(const CPUCore&) = delete;
void Init() override void Init() override

View File

@ -157,7 +157,7 @@ class VAListStruct : public VAList
{ {
public: public:
explicit VAListStruct(const Core::CPUThreadGuard& guard, u32 address); explicit VAListStruct(const Core::CPUThreadGuard& guard, u32 address);
~VAListStruct() = default; ~VAListStruct() override = default;
private: private:
struct svr4_va_list struct svr4_va_list

View File

@ -28,7 +28,7 @@ public:
DSPHLE(DSPHLE&& other) = delete; DSPHLE(DSPHLE&& other) = delete;
DSPHLE& operator=(const DSPHLE& other) = delete; DSPHLE& operator=(const DSPHLE& other) = delete;
DSPHLE& operator=(DSPHLE&& other) = delete; DSPHLE& operator=(DSPHLE&& other) = delete;
~DSPHLE(); ~DSPHLE() override;
bool Initialize(bool wii, bool dsp_thread) override; bool Initialize(bool wii, bool dsp_thread) override;
void Shutdown() override; void Shutdown() override;

View File

@ -27,7 +27,7 @@ public:
AESndAccelerator(AESndAccelerator&&) = delete; AESndAccelerator(AESndAccelerator&&) = delete;
AESndAccelerator& operator=(const AESndAccelerator&) = delete; AESndAccelerator& operator=(const AESndAccelerator&) = delete;
AESndAccelerator& operator=(AESndAccelerator&&) = delete; AESndAccelerator& operator=(AESndAccelerator&&) = delete;
~AESndAccelerator(); ~AESndAccelerator() override;
protected: protected:
void OnRawReadEndException() override {} void OnRawReadEndException() override {}

View File

@ -129,7 +129,7 @@ public:
HLEAccelerator(HLEAccelerator&&) = delete; HLEAccelerator(HLEAccelerator&&) = delete;
HLEAccelerator& operator=(const HLEAccelerator&) = delete; HLEAccelerator& operator=(const HLEAccelerator&) = delete;
HLEAccelerator& operator=(HLEAccelerator&&) = delete; HLEAccelerator& operator=(HLEAccelerator&&) = delete;
~HLEAccelerator() = default; ~HLEAccelerator() override = default;
PB_TYPE* acc_pb = nullptr; PB_TYPE* acc_pb = nullptr;

View File

@ -20,7 +20,7 @@ class DSPLLE : public DSPEmulator
{ {
public: public:
DSPLLE(); DSPLLE();
~DSPLLE(); ~DSPLLE() override;
bool Initialize(bool wii, bool dsp_thread) override; bool Initialize(bool wii, bool dsp_thread) override;
void Shutdown() override; void Shutdown() override;

View File

@ -18,7 +18,7 @@ class CEXIAgp : public IEXIDevice
{ {
public: public:
CEXIAgp(Core::System& system, const Slot slot); CEXIAgp(Core::System& system, const Slot slot);
virtual ~CEXIAgp() override; ~CEXIAgp() override;
bool IsPresent() const override { return true; } bool IsPresent() const override { return true; }
void ImmWrite(u32 _uData, u32 _uSize) override; void ImmWrite(u32 _uData, u32 _uSize) override;
u32 ImmRead(u32 _uSize) override; u32 ImmRead(u32 _uSize) override;

View File

@ -216,7 +216,7 @@ class CEXIETHERNET : public IEXIDevice
{ {
public: public:
CEXIETHERNET(Core::System& system, BBADeviceType type); CEXIETHERNET(Core::System& system, BBADeviceType type);
virtual ~CEXIETHERNET(); ~CEXIETHERNET() override;
void SetCS(int cs) override; void SetCS(int cs) override;
bool IsPresent() const override; bool IsPresent() const override;
bool IsInterruptSet() override; bool IsInterruptSet() override;

View File

@ -18,7 +18,7 @@ class CEXIMic : public IEXIDevice
{ {
public: public:
CEXIMic(Core::System& system, const int index); CEXIMic(Core::System& system, const int index);
virtual ~CEXIMic(); ~CEXIMic() override;
void SetCS(int cs) override; void SetCS(int cs) override;
bool IsInterruptSet() override; bool IsInterruptSet() override;
bool IsPresent() const override; bool IsPresent() const override;

View File

@ -33,7 +33,7 @@ class CEXIModem : public IEXIDevice
{ {
public: public:
CEXIModem(Core::System& system, ModemDeviceType type); CEXIModem(Core::System& system, ModemDeviceType type);
virtual ~CEXIModem(); ~CEXIModem() override;
void SetCS(int cs) override; void SetCS(int cs) override;
bool IsPresent() const override; bool IsPresent() const override;
bool IsInterruptSet() override; bool IsInterruptSet() override;
@ -136,13 +136,13 @@ private:
TAPServerNetworkInterface(CEXIModem* modem_ref, const std::string& destination); TAPServerNetworkInterface(CEXIModem* modem_ref, const std::string& destination);
public: public:
virtual bool Activate() override; bool Activate() override;
virtual void Deactivate() override; void Deactivate() override;
virtual bool IsActivated() override; bool IsActivated() override;
virtual bool SendAndRemoveAllHDLCFrames(std::string* send_buffer) override; bool SendAndRemoveAllHDLCFrames(std::string* send_buffer) override;
virtual bool RecvInit() override; bool RecvInit() override;
virtual void RecvStart() override; void RecvStart() override;
virtual void RecvStop() override; void RecvStop() override;
private: private:
TAPServerConnection m_tapserver_if; TAPServerConnection m_tapserver_if;

View File

@ -24,7 +24,7 @@ class GCMemcardDirectory : public MemoryCardBase
public: public:
GCMemcardDirectory(const std::string& directory, ExpansionInterface::Slot slot, GCMemcardDirectory(const std::string& directory, ExpansionInterface::Slot slot,
const Memcard::HeaderData& header_data, u32 game_id); const Memcard::HeaderData& header_data, u32 game_id);
~GCMemcardDirectory(); ~GCMemcardDirectory() override;
GCMemcardDirectory(const GCMemcardDirectory&) = delete; GCMemcardDirectory(const GCMemcardDirectory&) = delete;
GCMemcardDirectory& operator=(const GCMemcardDirectory&) = delete; GCMemcardDirectory& operator=(const GCMemcardDirectory&) = delete;

View File

@ -19,7 +19,7 @@ class MemoryCard : public MemoryCardBase
public: public:
MemoryCard(const std::string& filename, ExpansionInterface::Slot card_slot, MemoryCard(const std::string& filename, ExpansionInterface::Slot card_slot,
u16 size_mbits = Memcard::MBIT_SIZE_MEMORY_CARD_2043); u16 size_mbits = Memcard::MBIT_SIZE_MEMORY_CARD_2043);
~MemoryCard(); ~MemoryCard() override;
void FlushThread(); void FlushThread();
void MakeDirty(); void MakeDirty();

View File

@ -39,7 +39,7 @@ class ConstantHandlingMethod : public ReadHandlingMethod<T>
{ {
public: public:
explicit ConstantHandlingMethod(T value) : value_(value) {} explicit ConstantHandlingMethod(T value) : value_(value) {}
virtual ~ConstantHandlingMethod() = default; ~ConstantHandlingMethod() override = default;
void AcceptReadVisitor(ReadHandlingMethodVisitor<T>& v) const override void AcceptReadVisitor(ReadHandlingMethodVisitor<T>& v) const override
{ {
v.VisitConstant(value_); v.VisitConstant(value_);
@ -62,7 +62,7 @@ class NopHandlingMethod : public WriteHandlingMethod<T>
{ {
public: public:
NopHandlingMethod() {} NopHandlingMethod() {}
virtual ~NopHandlingMethod() = default; ~NopHandlingMethod() override = default;
void AcceptWriteVisitor(WriteHandlingMethodVisitor<T>& v) const override { v.VisitNop(); } void AcceptWriteVisitor(WriteHandlingMethodVisitor<T>& v) const override { v.VisitNop(); }
}; };
template <typename T> template <typename T>
@ -79,7 +79,7 @@ class DirectHandlingMethod : public ReadHandlingMethod<T>, public WriteHandlingM
{ {
public: public:
DirectHandlingMethod(T* addr, u32 mask) : addr_(addr), mask_(mask) {} DirectHandlingMethod(T* addr, u32 mask) : addr_(addr), mask_(mask) {}
virtual ~DirectHandlingMethod() = default; ~DirectHandlingMethod() override = default;
void AcceptReadVisitor(ReadHandlingMethodVisitor<T>& v) const override void AcceptReadVisitor(ReadHandlingMethodVisitor<T>& v) const override
{ {
v.VisitDirect(addr_, mask_); v.VisitDirect(addr_, mask_);
@ -122,7 +122,7 @@ public:
{ {
} }
virtual ~ComplexHandlingMethod() = default; ~ComplexHandlingMethod() override = default;
void AcceptReadVisitor(ReadHandlingMethodVisitor<T>& v) const override void AcceptReadVisitor(ReadHandlingMethodVisitor<T>& v) const override
{ {
v.VisitComplex(&read_lambda_); v.VisitComplex(&read_lambda_);

View File

@ -21,7 +21,7 @@ class CSIDevice_GBAEmu final : public ISIDevice
{ {
public: public:
CSIDevice_GBAEmu(Core::System& system, SIDevices device, int device_number); CSIDevice_GBAEmu(Core::System& system, SIDevices device, int device_number);
~CSIDevice_GBAEmu(); ~CSIDevice_GBAEmu() override;
int RunBuffer(u8* buffer, int request_length) override; int RunBuffer(u8* buffer, int request_length) override;
int TransferInterval() override; int TransferInterval() override;

View File

@ -120,7 +120,7 @@ protected:
using EncryptedExtension::EncryptedExtension; using EncryptedExtension::EncryptedExtension;
private: private:
void UpdateEncryptionKey() final override; void UpdateEncryptionKey() final;
}; };
class Extension3rdParty : public EncryptedExtension class Extension3rdParty : public EncryptedExtension
@ -129,7 +129,7 @@ protected:
using EncryptedExtension::EncryptedExtension; using EncryptedExtension::EncryptedExtension;
private: private:
void UpdateEncryptionKey() final override; void UpdateEncryptionKey() final;
}; };
} // namespace WiimoteEmu } // namespace WiimoteEmu

View File

@ -137,7 +137,7 @@ public:
static constexpr const char* SIDEWAYS_OPTION = "Sideways Wiimote"; static constexpr const char* SIDEWAYS_OPTION = "Sideways Wiimote";
explicit Wiimote(unsigned int index); explicit Wiimote(unsigned int index);
~Wiimote(); ~Wiimote() override;
std::string GetName() const override; std::string GetName() const override;

View File

@ -34,7 +34,7 @@ class WiimoteScannerHidapi final : public WiimoteScannerBackend
{ {
public: public:
WiimoteScannerHidapi(); WiimoteScannerHidapi();
~WiimoteScannerHidapi(); ~WiimoteScannerHidapi() override;
bool IsReady() const override; bool IsReady() const override;
void FindWiimotes(std::vector<Wiimote*>&, Wiimote*&) override; void FindWiimotes(std::vector<Wiimote*>&, Wiimote*&) override;
void Update() override {} // not needed for hidapi void Update() override {} // not needed for hidapi

View File

@ -233,7 +233,7 @@ class HotkeyManager : public ControllerEmu::EmulatedController
{ {
public: public:
HotkeyManager(); HotkeyManager();
~HotkeyManager(); ~HotkeyManager() override;
void GetInput(HotkeyStatus* hk, bool ignore_focus); void GetInput(HotkeyStatus* hk, bool ignore_focus);
std::string GetName() const override; std::string GetName() const override;

View File

@ -234,7 +234,7 @@ public:
ESDevice(ESDevice&& other) = delete; ESDevice(ESDevice&& other) = delete;
ESDevice& operator=(const ESDevice& other) = delete; ESDevice& operator=(const ESDevice& other) = delete;
ESDevice& operator=(ESDevice&& other) = delete; ESDevice& operator=(ESDevice&& other) = delete;
~ESDevice(); ~ESDevice() override;
static void InitializeEmulationState(CoreTiming::CoreTimingManager& core_timing); static void InitializeEmulationState(CoreTiming::CoreTimingManager& core_timing);
static void FinalizeEmulationState(); static void FinalizeEmulationState();

View File

@ -117,7 +117,7 @@ class FSDevice final : public EmulationDevice
{ {
public: public:
FSDevice(EmulationKernel& ios, FSCore& core, const std::string& device_name); FSDevice(EmulationKernel& ios, FSCore& core, const std::string& device_name);
~FSDevice(); ~FSDevice() override;
void DoState(PointerWrap& p) override; void DoState(PointerWrap& p) override;

View File

@ -23,7 +23,7 @@ class HostFileSystem final : public FileSystem
{ {
public: public:
HostFileSystem(const std::string& root_path, std::vector<NandRedirect> nand_redirects = {}); HostFileSystem(const std::string& root_path, std::vector<NandRedirect> nand_redirects = {});
~HostFileSystem(); ~HostFileSystem() override;
void DoState(PointerWrap& p) override; void DoState(PointerWrap& p) override;

View File

@ -153,7 +153,7 @@ class EmulationKernel final : public Kernel
{ {
public: public:
EmulationKernel(Core::System& system, u64 ios_title_id); EmulationKernel(Core::System& system, u64 ios_title_id);
~EmulationKernel(); ~EmulationKernel() override;
// Get a resource manager by name. // Get a resource manager by name.
// This only works for devices which are part of the device map. // This only works for devices which are part of the device map.

View File

@ -84,7 +84,7 @@ class NetSSLDevice : public EmulationDevice
public: public:
NetSSLDevice(EmulationKernel& ios, const std::string& device_name); NetSSLDevice(EmulationKernel& ios, const std::string& device_name);
virtual ~NetSSLDevice(); ~NetSSLDevice() override;
std::optional<IPCReply> IOCtl(const IOCtlRequest& request) override; std::optional<IPCReply> IOCtl(const IOCtlRequest& request) override;
std::optional<IPCReply> IOCtlV(const IOCtlVRequest& request) override; std::optional<IPCReply> IOCtlV(const IOCtlVRequest& request) override;

View File

@ -41,7 +41,7 @@ class BluetoothEmuDevice final : public BluetoothBaseDevice
public: public:
BluetoothEmuDevice(EmulationKernel& ios, const std::string& device_name); BluetoothEmuDevice(EmulationKernel& ios, const std::string& device_name);
virtual ~BluetoothEmuDevice(); ~BluetoothEmuDevice() override;
std::optional<IPCReply> Close(u32 fd) override; std::optional<IPCReply> Close(u32 fd) override;
std::optional<IPCReply> IOCtlV(const IOCtlVRequest& request) override; std::optional<IPCReply> IOCtlV(const IOCtlVRequest& request) override;

View File

@ -73,7 +73,7 @@ class SkylanderUSB final : public Device
{ {
public: public:
SkylanderUSB(); SkylanderUSB();
~SkylanderUSB(); ~SkylanderUSB() override;
DeviceDescriptor GetDeviceDescriptor() const override; DeviceDescriptor GetDeviceDescriptor() const override;
std::vector<ConfigDescriptor> GetConfigurations() const override; std::vector<ConfigDescriptor> GetConfigurations() const override;
std::vector<InterfaceDescriptor> GetInterfaces(u8 config) const override; std::vector<InterfaceDescriptor> GetInterfaces(u8 config) const override;

View File

@ -25,7 +25,7 @@ class USBHost : public EmulationDevice
{ {
public: public:
USBHost(EmulationKernel& ios, const std::string& device_name); USBHost(EmulationKernel& ios, const std::string& device_name);
virtual ~USBHost(); ~USBHost() override;
std::optional<IPCReply> Open(const OpenRequest& request) override; std::optional<IPCReply> Open(const OpenRequest& request) override;

View File

@ -27,7 +27,7 @@ class LibusbDevice final : public Device
{ {
public: public:
LibusbDevice(libusb_device* device, const libusb_device_descriptor& device_descriptor); LibusbDevice(libusb_device* device, const libusb_device_descriptor& device_descriptor);
~LibusbDevice(); ~LibusbDevice() override;
DeviceDescriptor GetDeviceDescriptor() const override; DeviceDescriptor GetDeviceDescriptor() const override;
std::vector<ConfigDescriptor> GetConfigurations() const override; std::vector<ConfigDescriptor> GetConfigurations() const override;
std::vector<InterfaceDescriptor> GetInterfaces(u8 config) const override; std::vector<InterfaceDescriptor> GetInterfaces(u8 config) const override;

View File

@ -116,7 +116,7 @@ public:
NetPlayClient(const std::string& address, const u16 port, NetPlayUI* dialog, NetPlayClient(const std::string& address, const u16 port, NetPlayUI* dialog,
const std::string& name, const NetTraversalConfig& traversal_config); const std::string& name, const NetTraversalConfig& traversal_config);
~NetPlayClient(); ~NetPlayClient() override;
std::vector<const Player*> GetPlayers(); std::vector<const Player*> GetPlayers();
const NetSettings& GetNetSettings() const; const NetSettings& GetNetSettings() const;

View File

@ -44,7 +44,7 @@ public:
NetPlayServer(u16 port, bool forward_port, NetPlayUI* dialog, NetPlayServer(u16 port, bool forward_port, NetPlayUI* dialog,
const NetTraversalConfig& traversal_config); const NetTraversalConfig& traversal_config);
~NetPlayServer(); ~NetPlayServer() override;
bool ChangeGame(const SyncIdentifier& sync_identifier, const std::string& netplay_name); bool ChangeGame(const SyncIdentifier& sync_identifier, const std::string& netplay_name);
bool ComputeGameDigest(const SyncIdentifier& sync_identifier); bool ComputeGameDigest(const SyncIdentifier& sync_identifier);

View File

@ -86,7 +86,7 @@ class PCAPSSLCaptureLogger final : public NetworkCaptureLogger
{ {
public: public:
PCAPSSLCaptureLogger(); PCAPSSLCaptureLogger();
~PCAPSSLCaptureLogger(); ~PCAPSSLCaptureLogger() override;
void OnNewSocket(s32 socket) override; void OnNewSocket(s32 socket) override;

View File

@ -31,7 +31,7 @@ public:
CachedInterpreter(CachedInterpreter&&) = delete; CachedInterpreter(CachedInterpreter&&) = delete;
CachedInterpreter& operator=(const CachedInterpreter&) = delete; CachedInterpreter& operator=(const CachedInterpreter&) = delete;
CachedInterpreter& operator=(CachedInterpreter&&) = delete; CachedInterpreter& operator=(CachedInterpreter&&) = delete;
~CachedInterpreter(); ~CachedInterpreter() override;
void Init() override; void Init() override;
void Shutdown() override; void Shutdown() override;

View File

@ -30,7 +30,7 @@ public:
Interpreter(Interpreter&&) = delete; Interpreter(Interpreter&&) = delete;
Interpreter& operator=(const Interpreter&) = delete; Interpreter& operator=(const Interpreter&) = delete;
Interpreter& operator=(Interpreter&&) = delete; Interpreter& operator=(Interpreter&&) = delete;
~Interpreter(); ~Interpreter() override;
void Init() override; void Init() override;
void Shutdown() override; void Shutdown() override;

View File

@ -8,7 +8,7 @@
class CSVSignatureDB final : public HashSignatureDB class CSVSignatureDB final : public HashSignatureDB
{ {
public: public:
~CSVSignatureDB() = default; ~CSVSignatureDB() override = default;
bool Load(const std::string& file_path) override; bool Load(const std::string& file_path) override;
bool Save(const std::string& file_path) const override; bool Save(const std::string& file_path) const override;
}; };

View File

@ -8,7 +8,7 @@
class DSYSignatureDB final : public HashSignatureDB class DSYSignatureDB final : public HashSignatureDB
{ {
public: public:
~DSYSignatureDB() = default; ~DSYSignatureDB() override = default;
bool Load(const std::string& file_path) override; bool Load(const std::string& file_path) override;
bool Save(const std::string& file_path) const override; bool Save(const std::string& file_path) const override;
}; };

View File

@ -107,7 +107,7 @@ protected:
class SectorReader : public BlobReader class SectorReader : public BlobReader
{ {
public: public:
virtual ~SectorReader() = 0; ~SectorReader() override = 0;
bool Read(u64 offset, u64 size, u8* out_ptr) override; bool Read(u64 offset, u64 size, u8* out_ptr) override;

View File

@ -45,7 +45,7 @@ class CompressedBlobReader final : public SectorReader
public: public:
static std::unique_ptr<CompressedBlobReader> Create(File::IOFile file, static std::unique_ptr<CompressedBlobReader> Create(File::IOFile file,
const std::string& filename); const std::string& filename);
~CompressedBlobReader(); ~CompressedBlobReader() override;
const CompressedBlobHeader& GetHeader() const { return m_header; } const CompressedBlobHeader& GetHeader() const { return m_header; }

View File

@ -29,7 +29,7 @@ class VolumeGC final : public VolumeDisc
{ {
public: public:
VolumeGC(std::unique_ptr<BlobReader> reader); VolumeGC(std::unique_ptr<BlobReader> reader);
~VolumeGC(); ~VolumeGC() override;
bool Read(u64 offset, u64 length, u8* buffer, bool Read(u64 offset, u64 length, u8* buffer,
const Partition& partition = PARTITION_NONE) const override; const Partition& partition = PARTITION_NONE) const override;
const FileSystem* GetFileSystem(const Partition& partition = PARTITION_NONE) const override; const FileSystem* GetFileSystem(const Partition& partition = PARTITION_NONE) const override;

View File

@ -58,7 +58,7 @@ public:
static_assert(sizeof(HashBlock) == BLOCK_HEADER_SIZE); static_assert(sizeof(HashBlock) == BLOCK_HEADER_SIZE);
VolumeWii(std::unique_ptr<BlobReader> reader); VolumeWii(std::unique_ptr<BlobReader> reader);
~VolumeWii(); ~VolumeWii() override;
bool Read(u64 offset, u64 length, u8* buffer, const Partition& partition) const override; bool Read(u64 offset, u64 length, u8* buffer, const Partition& partition) const override;
bool HasWiiHashes() const override; bool HasWiiHashes() const override;
bool HasWiiEncryption() const override; bool HasWiiEncryption() const override;

View File

@ -44,7 +44,7 @@ template <bool RVZ>
class WIARVZFileReader final : public BlobReader class WIARVZFileReader final : public BlobReader
{ {
public: public:
~WIARVZFileReader(); ~WIARVZFileReader() override;
static std::unique_ptr<WIARVZFileReader> Create(File::IOFile file, const std::string& path); static std::unique_ptr<WIARVZFileReader> Create(File::IOFile file, const std::string& path);

View File

@ -75,7 +75,7 @@ private:
class Bzip2Decompressor final : public Decompressor class Bzip2Decompressor final : public Decompressor
{ {
public: public:
~Bzip2Decompressor(); ~Bzip2Decompressor() override;
bool Decompress(const DecompressionBuffer& in, DecompressionBuffer* out, bool Decompress(const DecompressionBuffer& in, DecompressionBuffer* out,
size_t* in_bytes_read) override; size_t* in_bytes_read) override;
@ -89,7 +89,7 @@ class LZMADecompressor final : public Decompressor
{ {
public: public:
LZMADecompressor(bool lzma2, const u8* filter_options, size_t filter_options_size); LZMADecompressor(bool lzma2, const u8* filter_options, size_t filter_options_size);
~LZMADecompressor(); ~LZMADecompressor() override;
bool Decompress(const DecompressionBuffer& in, DecompressionBuffer* out, bool Decompress(const DecompressionBuffer& in, DecompressionBuffer* out,
size_t* in_bytes_read) override; size_t* in_bytes_read) override;
@ -106,7 +106,7 @@ class ZstdDecompressor final : public Decompressor
{ {
public: public:
ZstdDecompressor(); ZstdDecompressor();
~ZstdDecompressor(); ~ZstdDecompressor() override;
bool Decompress(const DecompressionBuffer& in, DecompressionBuffer* out, bool Decompress(const DecompressionBuffer& in, DecompressionBuffer* out,
size_t* in_bytes_read) override; size_t* in_bytes_read) override;
@ -164,7 +164,7 @@ class PurgeCompressor final : public Compressor
{ {
public: public:
PurgeCompressor(); PurgeCompressor();
~PurgeCompressor(); ~PurgeCompressor() override;
bool Start(std::optional<u64> size) override; bool Start(std::optional<u64> size) override;
bool AddPrecedingDataOnlyForPurgeHashing(const u8* data, size_t size) override; bool AddPrecedingDataOnlyForPurgeHashing(const u8* data, size_t size) override;
@ -184,7 +184,7 @@ class Bzip2Compressor final : public Compressor
{ {
public: public:
Bzip2Compressor(int compression_level); Bzip2Compressor(int compression_level);
~Bzip2Compressor(); ~Bzip2Compressor() override;
bool Start(std::optional<u64> size) override; bool Start(std::optional<u64> size) override;
bool Compress(const u8* data, size_t size) override; bool Compress(const u8* data, size_t size) override;
@ -206,7 +206,7 @@ class LZMACompressor final : public Compressor
public: public:
LZMACompressor(bool lzma2, int compression_level, u8 compressor_data_out[7], LZMACompressor(bool lzma2, int compression_level, u8 compressor_data_out[7],
u8* compressor_data_size_out); u8* compressor_data_size_out);
~LZMACompressor(); ~LZMACompressor() override;
bool Start(std::optional<u64> size) override; bool Start(std::optional<u64> size) override;
bool Compress(const u8* data, size_t size) override; bool Compress(const u8* data, size_t size) override;
@ -229,7 +229,7 @@ class ZstdCompressor final : public Compressor
{ {
public: public:
ZstdCompressor(int compression_level); ZstdCompressor(int compression_level);
~ZstdCompressor(); ~ZstdCompressor() override;
bool Start(std::optional<u64> size) override; bool Start(std::optional<u64> size) override;
bool Compress(const u8* data, size_t size) override; bool Compress(const u8* data, size_t size) override;

View File

@ -18,7 +18,7 @@ static constexpr u32 WBFS_MAGIC = 0x53464257; // "WBFS" (byteswapped to little
class WbfsFileReader final : public BlobReader class WbfsFileReader final : public BlobReader
{ {
public: public:
~WbfsFileReader(); ~WbfsFileReader() override;
static std::unique_ptr<WbfsFileReader> Create(File::IOFile file, const std::string& path); static std::unique_ptr<WbfsFileReader> Create(File::IOFile file, const std::string& path);

View File

@ -34,7 +34,7 @@ class CheatsManager : public QDialog
Q_OBJECT Q_OBJECT
public: public:
explicit CheatsManager(Core::System& system, QWidget* parent = nullptr); explicit CheatsManager(Core::System& system, QWidget* parent = nullptr);
~CheatsManager(); ~CheatsManager() override;
signals: signals:
void OpenGeneralSettings(); void OpenGeneralSettings();

View File

@ -17,7 +17,7 @@ class GameConfigHighlighter : public QSyntaxHighlighter
public: public:
explicit GameConfigHighlighter(QTextDocument* parent = nullptr); explicit GameConfigHighlighter(QTextDocument* parent = nullptr);
~GameConfigHighlighter(); ~GameConfigHighlighter() override;
protected: protected:
void highlightBlock(const QString& text) override; void highlightBlock(const QString& text) override;

View File

@ -29,7 +29,7 @@ class GameConfigWidget : public QWidget
Q_OBJECT Q_OBJECT
public: public:
explicit GameConfigWidget(const UICommon::GameFile& game); explicit GameConfigWidget(const UICommon::GameFile& game);
~GameConfigWidget(); ~GameConfigWidget() override;
private: private:
void CreateWidgets(); void CreateWidgets();

View File

@ -27,7 +27,7 @@ class PostProcessingConfigWindow final : public QDialog
Q_OBJECT Q_OBJECT
public: public:
explicit PostProcessingConfigWindow(EnhancementsWidget* parent, const std::string& shader); explicit PostProcessingConfigWindow(EnhancementsWidget* parent, const std::string& shader);
~PostProcessingConfigWindow(); ~PostProcessingConfigWindow() override;
private: private:
class ConfigGroup final class ConfigGroup final

View File

@ -35,7 +35,7 @@ class GraphicsModListWidget : public QWidget
Q_OBJECT Q_OBJECT
public: public:
explicit GraphicsModListWidget(const UICommon::GameFile& game); explicit GraphicsModListWidget(const UICommon::GameFile& game);
~GraphicsModListWidget(); ~GraphicsModListWidget() override;
void SaveToDisk(); void SaveToDisk();

View File

@ -17,7 +17,7 @@ class LogConfigWidget final : public QDockWidget
Q_OBJECT Q_OBJECT
public: public:
explicit LogConfigWidget(QWidget* parent = nullptr); explicit LogConfigWidget(QWidget* parent = nullptr);
~LogConfigWidget(); ~LogConfigWidget() override;
protected: protected:
void closeEvent(QCloseEvent* event) override; void closeEvent(QCloseEvent* event) override;

View File

@ -23,7 +23,7 @@ class LogWidget final : public QDockWidget
Q_OBJECT Q_OBJECT
public: public:
explicit LogWidget(QWidget* parent = nullptr); explicit LogWidget(QWidget* parent = nullptr);
~LogWidget(); ~LogWidget() override;
protected: protected:
void closeEvent(QCloseEvent*) override; void closeEvent(QCloseEvent*) override;

View File

@ -15,7 +15,7 @@ class GCPadWiiUConfigDialog final : public QDialog
Q_OBJECT Q_OBJECT
public: public:
explicit GCPadWiiUConfigDialog(int port, QWidget* parent = nullptr); explicit GCPadWiiUConfigDialog(int port, QWidget* parent = nullptr);
~GCPadWiiUConfigDialog(); ~GCPadWiiUConfigDialog() override;
private: private:
void LoadSettings(); void LoadSettings();

View File

@ -31,10 +31,10 @@ public:
bool ApplicationCloseRequest(); bool ApplicationCloseRequest();
~AssemblerWidget(); ~AssemblerWidget() override;
protected: protected:
void closeEvent(QCloseEvent*); void closeEvent(QCloseEvent*) override;
private: private:
enum class AsmKind enum class AsmKind

View File

@ -65,7 +65,8 @@ public:
CustomDelegate(BreakpointWidget* parent) : QStyledItemDelegate(parent) {} CustomDelegate(BreakpointWidget* parent) : QStyledItemDelegate(parent) {}
private: private:
void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const void paint(QPainter* painter, const QStyleOptionViewItem& option,
const QModelIndex& index) const override
{ {
Q_ASSERT(index.isValid()); Q_ASSERT(index.isValid());

View File

@ -31,7 +31,7 @@ class BreakpointWidget : public QDockWidget
Q_OBJECT Q_OBJECT
public: public:
explicit BreakpointWidget(QWidget* parent = nullptr); explicit BreakpointWidget(QWidget* parent = nullptr);
~BreakpointWidget(); ~BreakpointWidget() override;
void AddBP(u32 addr); void AddBP(u32 addr);
void AddBP(u32 addr, bool break_on_hit, bool log_on_hit, const QString& condition); void AddBP(u32 addr, bool break_on_hit, bool log_on_hit, const QString& condition);

View File

@ -33,7 +33,7 @@ class CodeWidget : public QDockWidget
Q_OBJECT Q_OBJECT
public: public:
explicit CodeWidget(QWidget* parent = nullptr); explicit CodeWidget(QWidget* parent = nullptr);
~CodeWidget(); ~CodeWidget() override;
void Step(); void Step();
void StepOver(); void StepOver();

View File

@ -16,7 +16,7 @@ using namespace Common::GekkoAssembler::detail;
class HighlightParsePlugin : public ParsePlugin class HighlightParsePlugin : public ParsePlugin
{ {
public: public:
virtual ~HighlightParsePlugin() = default; ~HighlightParsePlugin() override = default;
std::vector<std::pair<int, int>>&& MoveParens() { return std::move(m_matched_parens); } std::vector<std::pair<int, int>>&& MoveParens() { return std::move(m_matched_parens); }
std::vector<std::tuple<int, int, HighlightFormat>>&& MoveFormatting() std::vector<std::tuple<int, int, HighlightFormat>>&& MoveFormatting()

View File

@ -32,7 +32,7 @@ class MemoryWidget : public QDockWidget
Q_OBJECT Q_OBJECT
public: public:
explicit MemoryWidget(Core::System& system, QWidget* parent = nullptr); explicit MemoryWidget(Core::System& system, QWidget* parent = nullptr);
~MemoryWidget(); ~MemoryWidget() override;
void SetAddress(u32 address); void SetAddress(u32 address);
void Update(); void Update();

View File

@ -21,7 +21,7 @@ class NetworkWidget : public QDockWidget
Q_OBJECT Q_OBJECT
public: public:
explicit NetworkWidget(QWidget* parent = nullptr); explicit NetworkWidget(QWidget* parent = nullptr);
~NetworkWidget(); ~NetworkWidget() override;
protected: protected:
void closeEvent(QCloseEvent*) override; void closeEvent(QCloseEvent*) override;

View File

@ -23,7 +23,7 @@ class RegisterWidget : public QDockWidget
Q_OBJECT Q_OBJECT
public: public:
explicit RegisterWidget(QWidget* parent = nullptr); explicit RegisterWidget(QWidget* parent = nullptr);
~RegisterWidget(); ~RegisterWidget() override;
signals: signals:
void RequestTableUpdate(); void RequestTableUpdate();

View File

@ -19,7 +19,7 @@ class ThreadWidget : public QDockWidget
Q_OBJECT Q_OBJECT
public: public:
explicit ThreadWidget(QWidget* parent = nullptr); explicit ThreadWidget(QWidget* parent = nullptr);
~ThreadWidget(); ~ThreadWidget() override;
signals: signals:
void RequestBreakpoint(u32 addr); void RequestBreakpoint(u32 addr);

View File

@ -25,7 +25,7 @@ class WatchWidget : public QDockWidget
Q_OBJECT Q_OBJECT
public: public:
explicit WatchWidget(QWidget* parent = nullptr); explicit WatchWidget(QWidget* parent = nullptr);
~WatchWidget(); ~WatchWidget() override;
void AddWatch(QString name, u32 addr); void AddWatch(QString name, u32 addr);
signals: signals:

View File

@ -22,7 +22,7 @@ class DiscordHandler : public QObject, public Discord::Handler
#ifdef USE_DISCORD_PRESENCE #ifdef USE_DISCORD_PRESENCE
public: public:
explicit DiscordHandler(QWidget* parent); explicit DiscordHandler(QWidget* parent);
~DiscordHandler(); ~DiscordHandler() override;
void Start(); void Start();
void Stop(); void Stop();

View File

@ -26,7 +26,7 @@ class FIFOAnalyzer final : public QWidget
public: public:
explicit FIFOAnalyzer(FifoPlayer& fifo_player); explicit FIFOAnalyzer(FifoPlayer& fifo_player);
~FIFOAnalyzer(); ~FIFOAnalyzer() override;
void Update(); void Update();

View File

@ -23,7 +23,7 @@ class FIFOPlayerWindow : public QWidget
public: public:
explicit FIFOPlayerWindow(FifoPlayer& fifo_player, FifoRecorder& fifo_recorder, explicit FIFOPlayerWindow(FifoPlayer& fifo_player, FifoRecorder& fifo_recorder,
QWidget* parent = nullptr); QWidget* parent = nullptr);
~FIFOPlayerWindow(); ~FIFOPlayerWindow() override;
signals: signals:
void LoadFIFORequested(const QString& path); void LoadFIFORequested(const QString& path);
@ -50,7 +50,7 @@ private:
void UpdateInfo(); void UpdateInfo();
void UpdateLimits(); void UpdateLimits();
bool eventFilter(QObject* object, QEvent* event) final override; bool eventFilter(QObject* object, QEvent* event) final;
FifoPlayer& m_fifo_player; FifoPlayer& m_fifo_player;
FifoRecorder& m_fifo_recorder; FifoRecorder& m_fifo_recorder;

View File

@ -18,7 +18,7 @@ class GBAHost : public GBAHostInterface
{ {
public: public:
explicit GBAHost(std::weak_ptr<HW::GBA::Core> core); explicit GBAHost(std::weak_ptr<HW::GBA::Core> core);
~GBAHost(); ~GBAHost() override;
void GameChanged() override; void GameChanged() override;
void FrameEnded(const std::vector<u32>& video_buffer) override; void FrameEnded(const std::vector<u32>& video_buffer) override;

View File

@ -13,7 +13,7 @@ class GCMemcardCreateNewDialog : public QDialog
Q_OBJECT Q_OBJECT
public: public:
explicit GCMemcardCreateNewDialog(QWidget* parent = nullptr); explicit GCMemcardCreateNewDialog(QWidget* parent = nullptr);
~GCMemcardCreateNewDialog(); ~GCMemcardCreateNewDialog() override;
std::string GetMemoryCardPath() const; std::string GetMemoryCardPath() const;

View File

@ -41,7 +41,7 @@ class GCMemcardManager : public QDialog
Q_OBJECT Q_OBJECT
public: public:
explicit GCMemcardManager(QWidget* parent = nullptr); explicit GCMemcardManager(QWidget* parent = nullptr);
~GCMemcardManager(); ~GCMemcardManager() override;
static QString GetErrorMessagesForErrorCode(const Memcard::GCMemcardErrorCode& code); static QString GetErrorMessagesForErrorCode(const Memcard::GCMemcardErrorCode& code);
static QString GetErrorMessageForErrorCode(Memcard::ReadSavefileErrorCode code); static QString GetErrorMessageForErrorCode(Memcard::ReadSavefileErrorCode code);

View File

@ -26,7 +26,7 @@ class GameList final : public QStackedWidget
public: public:
explicit GameList(QWidget* parent = nullptr); explicit GameList(QWidget* parent = nullptr);
~GameList(); ~GameList() override;
std::shared_ptr<const UICommon::GameFile> GetSelectedGame() const; std::shared_ptr<const UICommon::GameFile> GetSelectedGame() const;
QList<std::shared_ptr<const UICommon::GameFile>> GetSelectedGames() const; QList<std::shared_ptr<const UICommon::GameFile>> GetSelectedGames() const;

View File

@ -17,7 +17,7 @@ class Host final : public QObject
Q_OBJECT Q_OBJECT
public: public:
~Host(); ~Host() override;
static Host* GetInstance(); static Host* GetInstance();

View File

@ -16,7 +16,7 @@ class HotkeyScheduler : public QObject
Q_OBJECT Q_OBJECT
public: public:
explicit HotkeyScheduler(); explicit HotkeyScheduler();
~HotkeyScheduler(); ~HotkeyScheduler() override;
void Start(); void Start();
void Stop(); void Stop();

View File

@ -85,7 +85,7 @@ class MainWindow final : public QMainWindow
public: public:
explicit MainWindow(Core::System& system, std::unique_ptr<BootParameters> boot_parameters, explicit MainWindow(Core::System& system, std::unique_ptr<BootParameters> boot_parameters,
const std::string& movie_path); const std::string& movie_path);
~MainWindow(); ~MainWindow() override;
WindowSystemInfo GetWindowSystemInfo() const; WindowSystemInfo GetWindowSystemInfo() const;

View File

@ -29,7 +29,7 @@ class NetPlayBrowser : public QDialog
Q_OBJECT Q_OBJECT
public: public:
explicit NetPlayBrowser(QWidget* parent = nullptr); explicit NetPlayBrowser(QWidget* parent = nullptr);
~NetPlayBrowser(); ~NetPlayBrowser() override;
void accept() override; void accept() override;
signals: signals:

View File

@ -40,7 +40,7 @@ public:
explicit NetPlayDialog(const GameListModel& game_list_model, explicit NetPlayDialog(const GameListModel& game_list_model,
StartGameCallback start_game_callback, QWidget* parent = nullptr); StartGameCallback start_game_callback, QWidget* parent = nullptr);
~NetPlayDialog(); ~NetPlayDialog() override;
void show(std::string nickname, bool use_traversal); void show(std::string nickname, bool use_traversal);
void reject() override; void reject() override;

View File

@ -14,9 +14,9 @@ public:
Qt::TextElideMode elideMode() const; Qt::TextElideMode elideMode() const;
void setElideMode(Qt::TextElideMode elide_mode); void setElideMode(Qt::TextElideMode elide_mode);
QSize sizeHint() const final override; QSize sizeHint() const final;
private: private:
void paintEvent(QPaintEvent* event) final override; void paintEvent(QPaintEvent* event) final;
Qt::TextElideMode m_elide_mode; Qt::TextElideMode m_elide_mode;
}; };

View File

@ -24,7 +24,7 @@ public:
explicit RiivolutionBootWidget(std::string game_id, std::optional<u16> revision, explicit RiivolutionBootWidget(std::string game_id, std::optional<u16> revision,
std::optional<u8> disc, std::string base_game_path, std::optional<u8> disc, std::string base_game_path,
QWidget* parent = nullptr); QWidget* parent = nullptr);
~RiivolutionBootWidget(); ~RiivolutionBootWidget() override;
bool ShouldBoot() const { return m_should_boot; } bool ShouldBoot() const { return m_should_boot; }
std::vector<DiscIO::Riivolution::Patch>& GetPatches() { return m_patches; } std::vector<DiscIO::Riivolution::Patch>& GetPatches() { return m_patches; }

View File

@ -24,7 +24,7 @@ private:
void CreateWidgets(); void CreateWidgets();
void ConnectWidgets(); void ConnectWidgets();
bool eventFilter(QObject* object, QEvent* event) final override; bool eventFilter(QObject* object, QEvent* event) final;
QLineEdit* m_search_edit; QLineEdit* m_search_edit;
QPushButton* m_close_button; QPushButton* m_close_button;

View File

@ -44,7 +44,7 @@ public:
Settings(Settings&&) = delete; Settings(Settings&&) = delete;
Settings& operator=(Settings&&) = delete; Settings& operator=(Settings&&) = delete;
~Settings(); ~Settings() override;
void UnregisterDevicesChangedCallback(); void UnregisterDevicesChangedCallback();

View File

@ -56,7 +56,7 @@ private:
QVBoxLayout* CreateSlotLayout(); QVBoxLayout* CreateSlotLayout();
QVBoxLayout* CreateFinderLayout(); QVBoxLayout* CreateFinderLayout();
void closeEvent(QCloseEvent* bar) override; void closeEvent(QCloseEvent* bar) override;
bool eventFilter(QObject* object, QEvent* event) final override; bool eventFilter(QObject* object, QEvent* event) final;
// UI // UI
void EmulatePortal(bool emulate); void EmulatePortal(bool emulate);

View File

@ -17,7 +17,7 @@ public:
AnalogStick(const char* name, std::unique_ptr<StickGate>&& stick_gate); AnalogStick(const char* name, std::unique_ptr<StickGate>&& stick_gate);
AnalogStick(const char* name, const char* ui_name, std::unique_ptr<StickGate>&& stick_gate); AnalogStick(const char* name, const char* ui_name, std::unique_ptr<StickGate>&& stick_gate);
ReshapeData GetReshapableState(bool adjusted) const final override; ReshapeData GetReshapableState(bool adjusted) const final;
ControlState GetGateRadiusAtAngle(double ang) const override; ControlState GetGateRadiusAtAngle(double ang) const override;
StateData GetState() const; StateData GetState() const;

View File

@ -24,7 +24,7 @@ public:
Cursor(std::string name, std::string ui_name); Cursor(std::string name, std::string ui_name);
ReshapeData GetReshapableState(bool adjusted) const final override; ReshapeData GetReshapableState(bool adjusted) const final;
ControlState GetGateRadiusAtAngle(double ang) const override; ControlState GetGateRadiusAtAngle(double ang) const override;
// Modifies the state // Modifies the state

View File

@ -18,10 +18,10 @@ public:
explicit Force(const std::string& name); explicit Force(const std::string& name);
ReshapeData GetReshapableState(bool adjusted) const final override; ReshapeData GetReshapableState(bool adjusted) const final;
ControlState GetGateRadiusAtAngle(double ang) const final override; ControlState GetGateRadiusAtAngle(double ang) const final;
ControlState GetDefaultInputRadiusAtAngle(double angle) const final override; ControlState GetDefaultInputRadiusAtAngle(double angle) const final;
StateData GetState(bool adjusted = true) const; StateData GetState(bool adjusted = true) const;

View File

@ -18,12 +18,12 @@ public:
explicit Tilt(const std::string& name); explicit Tilt(const std::string& name);
ReshapeData GetReshapableState(bool adjusted) const final override; ReshapeData GetReshapableState(bool adjusted) const final;
ControlState GetGateRadiusAtAngle(double angle) const final override; ControlState GetGateRadiusAtAngle(double angle) const final;
// Tilt is using the gate radius to adjust the tilt angle so we must provide an unadjusted value // Tilt is using the gate radius to adjust the tilt angle so we must provide an unadjusted value
// for the default input radius. // for the default input radius.
ControlState GetDefaultInputRadiusAtAngle(double angle) const final override; ControlState GetDefaultInputRadiusAtAngle(double angle) const final;
StateData GetState() const; StateData GetState() const;

View File

@ -235,7 +235,7 @@ protected:
class EmulatedController : public ControlGroupContainer class EmulatedController : public ControlGroupContainer
{ {
public: public:
virtual ~EmulatedController(); ~EmulatedController() override;
virtual InputConfig* GetConfig() const = 0; virtual InputConfig* GetConfig() const = 0;

View File

@ -36,8 +36,8 @@ class OctagonStickGate : public StickGate
public: public:
// Radius of circumscribed circle // Radius of circumscribed circle
explicit OctagonStickGate(ControlState radius); explicit OctagonStickGate(ControlState radius);
ControlState GetRadiusAtAngle(double ang) const override final; ControlState GetRadiusAtAngle(double ang) const final;
std::optional<u32> GetIdealCalibrationSampleCount() const override final; std::optional<u32> GetIdealCalibrationSampleCount() const final;
private: private:
const ControlState m_radius; const ControlState m_radius;
@ -48,8 +48,8 @@ class RoundStickGate : public StickGate
{ {
public: public:
explicit RoundStickGate(ControlState radius); explicit RoundStickGate(ControlState radius);
ControlState GetRadiusAtAngle(double ang) const override final; ControlState GetRadiusAtAngle(double ang) const final;
std::optional<u32> GetIdealCalibrationSampleCount() const override final; std::optional<u32> GetIdealCalibrationSampleCount() const final;
private: private:
const ControlState m_radius; const ControlState m_radius;
@ -60,8 +60,8 @@ class SquareStickGate : public StickGate
{ {
public: public:
explicit SquareStickGate(ControlState half_width); explicit SquareStickGate(ControlState half_width);
ControlState GetRadiusAtAngle(double ang) const override final; ControlState GetRadiusAtAngle(double ang) const final;
std::optional<u32> GetIdealCalibrationSampleCount() const override final; std::optional<u32> GetIdealCalibrationSampleCount() const final;
private: private:
const ControlState m_half_width; const ControlState m_half_width;

View File

@ -117,7 +117,7 @@ public:
class Output : public Control class Output : public Control
{ {
public: public:
virtual ~Output() = default; ~Output() override = default;
virtual void SetState(ControlState state) = 0; virtual void SetState(ControlState state) = 0;
Output* ToOutput() override { return this; } Output* ToOutput() override { return this; }
}; };

View File

@ -60,13 +60,13 @@ public:
Core::DeviceRemoval UpdateInput() override; Core::DeviceRemoval UpdateInput() override;
Joystick(const LPDIRECTINPUTDEVICE8 device); Joystick(const LPDIRECTINPUTDEVICE8 device);
~Joystick(); ~Joystick() override;
std::string GetName() const override; std::string GetName() const override;
std::string GetSource() const override; std::string GetSource() const override;
int GetSortPriority() const override { return -3; } int GetSortPriority() const override { return -3; }
bool IsValid() const final override; bool IsValid() const final;
private: private:
const LPDIRECTINPUTDEVICE8 m_device; const LPDIRECTINPUTDEVICE8 m_device;

View File

@ -97,7 +97,7 @@ public:
Core::DeviceRemoval UpdateInput() override; Core::DeviceRemoval UpdateInput() override;
KeyboardMouse(const LPDIRECTINPUTDEVICE8 kb_device, const LPDIRECTINPUTDEVICE8 mo_device); KeyboardMouse(const LPDIRECTINPUTDEVICE8 kb_device, const LPDIRECTINPUTDEVICE8 mo_device);
~KeyboardMouse(); ~KeyboardMouse() override;
std::string GetName() const override; std::string GetName() const override;
std::string GetSource() const override; std::string GetSource() const override;

View File

@ -71,11 +71,8 @@ private:
: m_name(name), m_input(input), m_range(range), m_offset(offset) : m_name(name), m_input(input), m_range(range), m_offset(offset)
{ {
} }
std::string GetName() const final override { return m_name; } std::string GetName() const final { return m_name; }
ControlState GetState() const final override ControlState GetState() const final { return (ControlState(m_input) + m_offset) / m_range; }
{
return (ControlState(m_input) + m_offset) / m_range;
}
private: private:
const char* m_name; const char* m_name;
@ -203,7 +200,7 @@ class InputBackend final : public ciface::InputBackend
{ {
public: public:
InputBackend(ControllerInterface* controller_interface); InputBackend(ControllerInterface* controller_interface);
~InputBackend(); ~InputBackend() override;
void PopulateDevices() override; void PopulateDevices() override;
private: private:

View File

@ -26,7 +26,7 @@ class InputBackend final : public ciface::InputBackend
{ {
public: public:
InputBackend(ControllerInterface* controller_interface); InputBackend(ControllerInterface* controller_interface);
~InputBackend(); ~InputBackend() override;
void PopulateDevices() override; void PopulateDevices() override;
void UpdateInput(std::vector<std::weak_ptr<ciface::Core::Device>>& devices_to_remove) override; void UpdateInput(std::vector<std::weak_ptr<ciface::Core::Device>>& devices_to_remove) override;

View File

@ -93,8 +93,8 @@ private:
: m_name(name), m_input(input), m_range(range) : m_name(name), m_input(input), m_range(range)
{ {
} }
std::string GetName() const final override { return m_name; } std::string GetName() const final { return m_name; }
ControlState GetState() const final override { return ControlState(m_input) / m_range; } ControlState GetState() const final { return ControlState(m_input) / m_range; }
private: private:
const char* m_name; const char* m_name;

View File

@ -51,7 +51,7 @@ public:
std::string GetName() const override { return m_name; } std::string GetName() const override { return m_name; }
ControlState GetState() const final override { return ControlState(m_value) / m_extent; } ControlState GetState() const final { return ControlState(m_value) / m_extent; }
protected: protected:
const T& m_value; const T& m_value;

View File

@ -29,7 +29,7 @@ class Device final : public Core::Device
{ {
public: public:
Device(std::unique_ptr<WiimoteReal::Wiimote> wiimote); Device(std::unique_ptr<WiimoteReal::Wiimote> wiimote);
~Device(); ~Device() override;
std::string GetName() const override; std::string GetName() const override;
std::string GetSource() const override; std::string GetSource() const override;

Some files were not shown because too many files have changed in this diff Show More