//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//------------------------------------------------------------------------------
namespace System.Configuration {
///
/// Components should implement this interface if they want to persist custom settings
/// in a hosting application. This interface allows the application author to tell a control
/// whether to persist, when to load, save etc.
///
public interface IPersistComponentSettings {
///
/// Indicates to the implementor that settings should be persisted.
///
bool SaveSettings { get; set; }
///
/// Unique key that identifies an individual instance of a settings group(s). This key is needed
/// to identify which instance of a component owns a given group(s) of settings. Usually, the component
/// will frame its own key, but this property allows the hosting application to override it if necessary.
///
string SettingsKey { get; set; }
///
/// Tells the component to load its settings.
///
void LoadComponentSettings();
///
/// Tells the component to save its settings.
///
void SaveComponentSettings();
///
/// Tells the component to reset its settings. Typically, the component can call Reset on its settings class(es).
///
void ResetComponentSettings();
}
}