//------------------------------------------------------------------------------ // // 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(); } }