SettingsInterface: Add Error to Save()

This commit is contained in:
Stenzek
2024-03-31 15:50:29 +10:00
parent eb504143c1
commit 693982d755
7 changed files with 30 additions and 16 deletions

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2019-2022 Connor McLaughlin <stenzek@gmail.com>
// SPDX-FileCopyrightText: 2019-2024 Connor McLaughlin <stenzek@gmail.com>
// SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0)
#include "layered_settings_interface.h"
@ -9,7 +9,7 @@ LayeredSettingsInterface::LayeredSettingsInterface() = default;
LayeredSettingsInterface::~LayeredSettingsInterface() = default;
bool LayeredSettingsInterface::Save()
bool LayeredSettingsInterface::Save(Error* error /* = nullptr */)
{
Panic("Attempting to save layered settings interface");
}

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2019-2022 Connor McLaughlin <stenzek@gmail.com>
// SPDX-FileCopyrightText: 2019-2024 Connor McLaughlin <stenzek@gmail.com>
// SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0)
#pragma once
@ -23,7 +23,7 @@ public:
SettingsInterface* GetLayer(Layer layer) const { return m_layers[layer]; }
void SetLayer(Layer layer, SettingsInterface* sif) { m_layers[layer] = sif; }
bool Save() override;
bool Save(Error* error = nullptr) override;
void Clear() override;

View File

@ -1,16 +1,19 @@
// SPDX-FileCopyrightText: 2019-2022 Connor McLaughlin <stenzek@gmail.com>
// SPDX-FileCopyrightText: 2019-2024 Connor McLaughlin <stenzek@gmail.com>
// SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0)
#include "memory_settings_interface.h"
#include "common/assert.h"
#include "common/error.h"
#include "common/string_util.h"
MemorySettingsInterface::MemorySettingsInterface() = default;
MemorySettingsInterface::~MemorySettingsInterface() = default;
bool MemorySettingsInterface::Save()
bool MemorySettingsInterface::Save(Error* error /* = nullptr */)
{
Error::SetStringView(error, "Memory settings cannot be saved.");
return false;
}

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2019-2022 Connor McLaughlin <stenzek@gmail.com>
// SPDX-FileCopyrightText: 2019-2024 Connor McLaughlin <stenzek@gmail.com>
// SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0)
#pragma once
@ -12,7 +12,7 @@ public:
MemorySettingsInterface();
~MemorySettingsInterface();
bool Save() override;
bool Save(Error* error = nullptr) override;
void Clear() override;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2019-2022 Connor McLaughlin <stenzek@gmail.com>
// SPDX-FileCopyrightText: 2019-2024 Connor McLaughlin <stenzek@gmail.com>
// SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0)
#pragma once
@ -8,12 +8,14 @@
#include <string>
#include <vector>
class Error;
class SettingsInterface
{
public:
virtual ~SettingsInterface() = default;
virtual bool Save() = 0;
virtual bool Save(Error* error = nullptr) = 0;
virtual void Clear() = 0;
virtual bool GetIntValue(const char* section, const char* key, s32* value) const = 0;