//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.Configuration { using System.Security.Permissions; /// /// This interface is an extension to SettingsProvider that a provider can implement /// to support additional functionality for settings classes that derive from ApplicationSettingsBase. /// public interface IApplicationSettingsProvider { /// /// Retrieves the previous value of a given SettingsProperty. This is used in conjunction with Upgrade. /// [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] SettingsPropertyValue GetPreviousVersion(SettingsContext context, SettingsProperty property); /// /// Resets all settings to their "default" values. /// [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] void Reset(SettingsContext context); /// /// Indicates to the provider that the app has been upgraded. This is a chance for the provider to upgrade /// its stored settings as appropriate. /// [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] void Upgrade(SettingsContext context, SettingsPropertyCollection properties); } }