28 lines
625 B
C++
28 lines
625 B
C++
#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
|