Add settings object API

Documentation is in `docs/specs/Settings-Object-API.md`.
This commit is contained in:
Vasily
2020-01-08 21:18:45 +01:00
committed by username223
parent bda3cc0aa2
commit e71bc7b1b3
6 changed files with 426 additions and 2 deletions
+27
View File
@@ -0,0 +1,27 @@
#pragma once
#include "internal/settings_object_data.h"
namespace settings
{
class ISettingsObject
{
public:
virtual ~ISettingsObject() {}
virtual SettingsObjectData saveSettings() const = 0;
virtual void loadSettings( SettingsObjectData& obj ) = 0;
virtual std::string settingsName() const = 0;
};
void saveObject( const ISettingsObject& obj );
void loadObject( ISettingsObject& obj );
void saveNumberedObject( const ISettingsObject& obj, const int slot );
void loadNumberedObject( ISettingsObject& obj, const int slot );
int getAmountOfSavedObjects( ISettingsObject& obj );
} // namespace settings