using Common.Logging;
namespace Common.AppSettings;
public interface IAppSettingsProvider
{
///
/// Any internal event inside of the App Settings Provider.
///
event EventHandler? LogWorthyEvent;
///
/// Retrieves the app settings from the persistant location and loads them into memory.
/// Loading settings will override the currently stored settings in the memory.
///
void Load();
///
/// Saves the app settings to the persistant location.
///
void Save();
bool WriteSetting(string key, string value);
bool TryReadSetting(string key, out string value);
bool TryReadSettingOrAddDefault(string key, out string value, string defaultValue);
}