Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Print / Reach / Serialization / manager / ReachPageContentSerializerAsync.cs / 1 / ReachPageContentSerializerAsync.cs
/*++
Copyright (C) 2004- 2005 Microsoft Corporation
All rights reserved.
Module Name:
ReachPageContentSerializerAsync.cs
Abstract:
This file contains the definition of a class that defines
the common functionality required to serialize a PageContent.
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.Printing;
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;
namespace System.Windows.Xps.Serialization
{
///
/// Class defining common functionality required to
/// serialize a ReachPageContentSerializer.
///
internal class ReachPageContentSerializerAsync :
ReachSerializerAsync
{
#region Constructor
///
/// Constructor for class ReachPageContentSerializer
///
///
/// The serialization manager, the services of which are
/// used later in the serialization process of the type.
///
public
ReachPageContentSerializerAsync(
PackageSerializationManager manager
):
base(manager)
{
}
#endregion Constructor
#region Public Methods
///
///
///
public
override
void
AsyncOperation(
ReachSerializerContext context
)
{
if(context == null)
{
}
switch (context.Action)
{
case SerializerAction.serializePage:
{
SerializePage(context.ObjectContext);
break;
}
default:
{
base.AsyncOperation(context);
break;
}
}
}
#endregion
#region Internal Methods
///
/// The method is called once the object data is discovered at that
/// point of the serialization process.
///
///
/// The context of the object to be serialized at this time.
///
internal
override
void
PersistObjectData(
SerializableObjectContext serializableObjectContext
)
{
if(serializableObjectContext.IsComplexValue)
{
ReachSerializerContext context = new ReachSerializerContext(this,
serializableObjectContext,
SerializerAction.serializePage);
((XpsSerializationManagerAsync)SerializationManager).OperationStack.Push(context);
}
else
{
throw new XpsSerializationException(ReachSR.Get(ReachSRID.ReachSerialization_WrongPropertyTypeForPageContent));
}
}
private
void
SerializePage(
SerializableObjectContext serializableObjectContext
)
{
FixedPage fixedPage = Toolbox.GetPageRoot(serializableObjectContext.TargetObject);
if(fixedPage != null)
{
ReachSerializer serializer = SerializationManager.GetSerializer(fixedPage);
if(serializer!=null)
{
XpsSerializationPrintTicketRequiredEventArgs e =
new XpsSerializationPrintTicketRequiredEventArgs(PrintTicketLevel.FixedPagePrintTicket,
0);
((XpsSerializationManagerAsync)SerializationManager).OnXPSSerializationPrintTicketRequired(e);
PrintTicket printTicket = null;
if( e.Modified )
{
printTicket = e.PrintTicket;
}
Toolbox.Layout(fixedPage, printTicket);
((XpsSerializationManagerAsync)SerializationManager).FixedPagePrintTicket = printTicket;
serializer.SerializeObject(fixedPage);
}
else
{
throw new XpsSerializationException(ReachSR.Get(ReachSRID.ReachSerialization_NoSerializer));
}
}
}
#endregion Internal Methods
};
}
// 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
- WorkBatch.cs
- EraserBehavior.cs
- NetPipeSection.cs
- IIS7UserPrincipal.cs
- TransformConverter.cs
- OutputCacheSettings.cs
- Timeline.cs
- GPStream.cs
- XslTransform.cs
- BounceEase.cs
- FixedSOMSemanticBox.cs
- DataMemberConverter.cs
- XamlParser.cs
- SoapServerMessage.cs
- DecoderNLS.cs
- PingReply.cs
- ReaderWriterLockWrapper.cs
- XmlnsDictionary.cs
- X509RawDataKeyIdentifierClause.cs
- CollectionViewSource.cs
- TextOptions.cs
- CodeGenerationManager.cs
- TextHintingModeValidation.cs
- Int32AnimationUsingKeyFrames.cs
- Timer.cs
- OdbcUtils.cs
- MetaModel.cs
- UnmanagedHandle.cs
- Vector3DCollectionValueSerializer.cs
- BitmapCacheBrush.cs
- WsdlBuildProvider.cs
- SetterBaseCollection.cs
- ReadingWritingEntityEventArgs.cs
- RegionIterator.cs
- ToolboxItemAttribute.cs
- HighlightOverlayGlyph.cs
- RawTextInputReport.cs
- SmtpFailedRecipientsException.cs
- ReadOnlyPropertyMetadata.cs
- GlyphTypeface.cs
- MsmqDiagnostics.cs
- HttpPostProtocolImporter.cs
- StringUtil.cs
- SessionIDManager.cs
- ClipboardData.cs
- GeometryGroup.cs
- HttpModulesSection.cs
- Point3DCollectionConverter.cs
- TimeStampChecker.cs
- GridViewUpdateEventArgs.cs
- Win32Exception.cs
- TTSVoice.cs
- TimeSpanHelper.cs
- OledbConnectionStringbuilder.cs
- MDIWindowDialog.cs
- StyleCollection.cs
- ToolStripDropDownClosedEventArgs.cs
- SingleAnimationUsingKeyFrames.cs
- XmlSchemaRedefine.cs
- SafeEventLogReadHandle.cs
- RangeValuePatternIdentifiers.cs
- GeneralTransform3DGroup.cs
- ReceiveMessageContent.cs
- MailHeaderInfo.cs
- RootBrowserWindow.cs
- EncryptedType.cs
- SecureUICommand.cs
- MulticastOption.cs
- InputEventArgs.cs
- PriorityQueue.cs
- Stream.cs
- ConnectionsZoneDesigner.cs
- NamedPipeConnectionPool.cs
- FormatException.cs
- PixelFormatConverter.cs
- UnescapedXmlDiagnosticData.cs
- ProfessionalColors.cs
- TextRangeAdaptor.cs
- IisTraceWebEventProvider.cs
- DataGridTableCollection.cs
- ToolStripKeyboardHandlingService.cs
- Int32Storage.cs
- BooleanExpr.cs
- QueryRelOp.cs
- DocumentViewerAutomationPeer.cs
- UserInitiatedNavigationPermission.cs
- WindowProviderWrapper.cs
- PriorityQueue.cs
- Tablet.cs
- DocComment.cs
- LinkedList.cs
- StickyNote.cs
- AdRotator.cs
- IntAverageAggregationOperator.cs
- DatatypeImplementation.cs
- CultureInfoConverter.cs
- DrawingVisualDrawingContext.cs
- RowCache.cs
- ConnectionManagementSection.cs
- HandleValueEditor.cs