Xamarin Public Jenkins (auto-signing) e79aa3c0ed Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
2016-08-03 10:59:49 +00:00

37 lines
1.6 KiB
C#

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