//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//------------------------------------------------------------------------------
namespace System.Web.UI.WebControls.WebParts {
using System;
///
/// Allows an object to track the personalization process,
/// in terms of both loading and saving state, as well as
/// optionally taking over tracking changes to personalized properties.
///
public interface ITrackingPersonalizable {
///
/// Indicates whether the object tracks its own changes. If so, it should return
/// true. Otherwise it should return false, and the framework will perform a diff
/// to determine if the object's personalization state has changed from its
/// initial values.
///
bool TracksChanges {
get;
}
///
/// Called before personalization data is loaded into the object.
/// An object that tracks changes should suspend its tracking during the load process.
///
void BeginLoad();
///
/// Called before personalization data is saved from the object.
///
void BeginSave();
///
/// Called after all the personalization data has been loaded into the object.
///
void EndLoad();
///
/// Called after all the personalization data has been saved from the object.
///
void EndSave();
}
}