// **************************************************************** // Copyright 2002-2003, Charlie Poole // This is free software licensed under the NUnit license. You may // obtain a copy of the license at http://nunit.org/?p=license&r=2.4 // **************************************************************** namespace NUnit.Util { using System; /// /// The ISettingsStorage interface is implemented by all /// types of backing storage for settings. /// public interface ISettingsStorage : IDisposable { /// /// Load a setting from the storage. /// /// Name of the setting to load /// Value of the setting or null object GetSetting( string settingName ); /// /// Remove a setting from the storage /// /// Name of the setting to remove void RemoveSetting( string settingName ); /// /// Remove a group of settings from the storae /// /// Name of the group to remove void RemoveGroup( string groupName ); /// /// Save a setting in the storage /// /// Name of the setting to save /// Value to be saved void SaveSetting( string settingName, object settingValue ); /// /// Create a child storage of the same type /// /// Name of the child storage /// New child storage ISettingsStorage MakeChildStorage( string name ); /// /// Load settings from external storage if required /// by the implementation. /// void LoadSettings(); /// /// Save settings to external storage if required /// by the implementation. /// void SaveSettings(); } }