Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Print / Reach / Serialization / manager / ReachDocumentReferenceSerializerAsync.cs / 1 / ReachDocumentReferenceSerializerAsync.cs
/*++
Copyright (C) 2004- 2005 Microsoft Corporation
All rights reserved.
Module Name:
ReachDocumentReferenceSerializerAsync.cs
Abstract:
Author:
[....] ([....]) 25-May-2005
Revision History:
--*/
using System;
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Diagnostics;
using System.Reflection;
using System.Xml;
using System.IO;
using System.Security;
using System.Security.Permissions;
using System.ComponentModel.Design.Serialization;
using System.Windows.Xps.Packaging;
using System.Windows.Documents;
using System.Windows.Media;
using System.Windows.Markup;
using System.Windows.Threading;
namespace System.Windows.Xps.Serialization
{
///
///
///
internal class ReachDocumentReferenceSerializerAsync :
ReachSerializerAsync
{
///
/// Creates a new serailizer for a DocumentReference
///
/// serialization manager
public
ReachDocumentReferenceSerializerAsync(
PackageSerializationManager manager
):
base(manager)
{
}
///
///
///
public
override
void
AsyncOperation(
ReachSerializerContext context
)
{
if(context == null)
{
}
switch (context.Action)
{
case SerializerAction.serializeDocument:
{
SerializeDocument(context.ObjectContext);
break;
}
default:
{
base.AsyncOperation(context);
break;
}
}
}
///
///
///
internal
override
void
PersistObjectData(
SerializableObjectContext serializableObjectContext
)
{
if(serializableObjectContext.IsComplexValue)
{
ReachSerializerContext context = new ReachSerializerContext(this,
serializableObjectContext,
SerializerAction.serializeDocument);
((XpsSerializationManagerAsync)SerializationManager).OperationStack.Push(context);
SerializeObjectCore(serializableObjectContext);
}
else
{
// What about this case? Is IsComplexValue something we really want to check for this?
}
}
private object Idle(object sender)
{
return null;
}
///
///
///
private
void
SerializeDocument(
SerializableObjectContext serializableObjectContext
)
{
//
// Loads the document
//
FixedDocument document =
((DocumentReference)serializableObjectContext.TargetObject).GetDocument(false);
if (document.IsInitialized == false)
{
// Give a parser item a kick
document.Dispatcher.Invoke(DispatcherPriority.ApplicationIdle,
new DispatcherOperationCallback(Idle), null);
}
if (document != null)
{
ReachSerializer serializer = SerializationManager.GetSerializer(document);
if(serializer!=null)
{
serializer.SerializeObject(document);
}
else
{
//
// This shouldn't ever happen.
//
throw new XpsSerializationException(ReachSR.Get(ReachSRID.ReachSerialization_NoSerializer));
}
}
}
};
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BasicExpandProvider.cs
- PointKeyFrameCollection.cs
- CornerRadius.cs
- MatchingStyle.cs
- IEnumerable.cs
- TypeSource.cs
- XsltContext.cs
- ToolStripActionList.cs
- ImageAttributes.cs
- SamlConstants.cs
- BlurBitmapEffect.cs
- TemplateModeChangedEventArgs.cs
- PageTheme.cs
- TraceInternal.cs
- Point4D.cs
- Transform.cs
- DataRelationPropertyDescriptor.cs
- PackageDigitalSignature.cs
- XmlDataSourceNodeDescriptor.cs
- RoleGroup.cs
- DesignUtil.cs
- WSSecurityPolicy11.cs
- PagerSettings.cs
- DataBindingExpressionBuilder.cs
- EventLogException.cs
- WinCategoryAttribute.cs
- XmlStreamStore.cs
- BidOverLoads.cs
- SqlVersion.cs
- DispatcherFrame.cs
- AnnotationHelper.cs
- Knowncolors.cs
- LocatorBase.cs
- ExtensionDataReader.cs
- LogStream.cs
- ScriptIgnoreAttribute.cs
- HttpServerChannel.cs
- PeerDuplexChannelListener.cs
- TypeRestriction.cs
- ConnectionConsumerAttribute.cs
- Pair.cs
- XsdBuilder.cs
- Calendar.cs
- PathGeometry.cs
- TreeNodeStyle.cs
- ConditionChanges.cs
- ExpressionBuilderContext.cs
- TransformerInfo.cs
- NativeCppClassAttribute.cs
- ScrollEventArgs.cs
- CrossSiteScriptingValidation.cs
- EmissiveMaterial.cs
- EntityParameter.cs
- MarshalDirectiveException.cs
- XMLSchema.cs
- VariableAction.cs
- ImageMetadata.cs
- InvalidFilterCriteriaException.cs
- SendActivityDesigner.cs
- DataGridViewColumnConverter.cs
- MemberMaps.cs
- ImportContext.cs
- CultureSpecificCharacterBufferRange.cs
- AtomicFile.cs
- NativeMethods.cs
- TreeNodeStyle.cs
- FileDialog_Vista.cs
- UniqueSet.cs
- HorizontalAlignConverter.cs
- MachineKeySection.cs
- ToolStripHighContrastRenderer.cs
- CodeEntryPointMethod.cs
- AdornerLayer.cs
- ActivityXRefConverter.cs
- ArcSegment.cs
- QueryAccessibilityHelpEvent.cs
- TextLineResult.cs
- PageAdapter.cs
- BufferedGraphicsContext.cs
- NonNullItemCollection.cs
- DataControlFieldHeaderCell.cs
- InstancePersistenceCommandException.cs
- SecurityDocument.cs
- ClientRolePrincipal.cs
- PointKeyFrameCollection.cs
- UnauthorizedAccessException.cs
- HtmlInputSubmit.cs
- TcpClientSocketManager.cs
- ByteStorage.cs
- MouseButton.cs
- RecordBuilder.cs
- Triangle.cs
- XmlQualifiedName.cs
- IdnMapping.cs
- CultureInfoConverter.cs
- HexParser.cs
- TabletDevice.cs
- HtmlContainerControl.cs
- Registry.cs
- WebPageTraceListener.cs