//----------------------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Runtime { using System; using System.Collections.Generic; using System.Xml.Linq; interface IPersistencePipelineModule { bool IsIOParticipant { get; } bool IsSaveTransactionRequired { get; } bool IsLoadTransactionRequired { get; } void CollectValues(out IDictionary<XName, object> readWriteValues, out IDictionary<XName, object> writeOnlyValues); IDictionary<XName, object> MapValues(IDictionary<XName, object> readWriteValues, IDictionary<XName, object> writeOnlyValues); void PublishValues(IDictionary<XName, object> readWriteValues); IAsyncResult BeginOnSave(IDictionary<XName, object> readWriteValues, IDictionary<XName, object> writeOnlyValues, TimeSpan timeout, AsyncCallback callback, object state); void EndOnSave(IAsyncResult result); IAsyncResult BeginOnLoad(IDictionary<XName, object> readWriteValues, TimeSpan timeout, AsyncCallback callback, object state); void EndOnLoad(IAsyncResult result); void Abort(); } }