Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Print / Reach / Serialization / manager / NGCPageContentSerializerAsync.cs / 1 / NGCPageContentSerializerAsync.cs
/*++
Copyright (C) 2004- 2005 Microsoft Corporation
All rights reserved.
Module Name:
NGCPageContentSerializerAsync.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.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 NgcPageContentSerializerAsync :
NGCSerializerAsync
{
#region Constructor
///
/// Constructor for class ReachPageContentSerializer
///
///
/// The serialization manager, the services of which are
/// used later in the serialization process of the type.
///
public
NgcPageContentSerializerAsync(
PackageSerializationManager manager
):
base(manager)
{
}
#endregion Constructor
#region Public Methods
///
///
///
public
override
void
AsyncOperation(
NGCSerializerContext 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)
{
NGCSerializerContext context = new NGCSerializerContext(this,
serializableObjectContext,
SerializerAction.serializePage);
((NgcSerializationManagerAsync)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)
{
NgcSerializationManagerAsync manager = SerializationManager as NgcSerializationManagerAsync;
XpsSerializationPrintTicketRequiredEventArgs e =
new XpsSerializationPrintTicketRequiredEventArgs(PrintTicketLevel.FixedPagePrintTicket,
0);
manager.OnNGCSerializationPrintTicketRequired(e);
Toolbox.Layout(fixedPage, manager.GetActivePrintTicket());
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
- PersistChildrenAttribute.cs
- SchemaImporterExtensionsSection.cs
- ExtentCqlBlock.cs
- XPathNodeList.cs
- MatrixAnimationUsingKeyFrames.cs
- RefreshEventArgs.cs
- AttributeData.cs
- CommandManager.cs
- JulianCalendar.cs
- SqlAggregateChecker.cs
- WindowsSolidBrush.cs
- GACMembershipCondition.cs
- CroppedBitmap.cs
- Asn1IntegerConverter.cs
- DataGridViewBand.cs
- AutoGeneratedFieldProperties.cs
- SecurityPermission.cs
- Composition.cs
- BindValidationContext.cs
- ButtonBaseAutomationPeer.cs
- UInt32.cs
- SmtpLoginAuthenticationModule.cs
- PointCollectionValueSerializer.cs
- TemplateField.cs
- Misc.cs
- ClrProviderManifest.cs
- Transform3D.cs
- TranslateTransform3D.cs
- BitmapMetadataBlob.cs
- StylusCaptureWithinProperty.cs
- DataTemplateSelector.cs
- QueryResponse.cs
- IntegrationExceptionEventArgs.cs
- ScriptingWebServicesSectionGroup.cs
- DescendantOverDescendantQuery.cs
- RsaSecurityTokenAuthenticator.cs
- LoginView.cs
- BezierSegment.cs
- CodeConditionStatement.cs
- ConvertTextFrag.cs
- smtppermission.cs
- AsyncContentLoadedEventArgs.cs
- ObjectReaderCompiler.cs
- DbUpdateCommandTree.cs
- HandleExceptionArgs.cs
- DoubleConverter.cs
- BufferedReadStream.cs
- SHA1.cs
- EditorPart.cs
- TdsRecordBufferSetter.cs
- MaterialGroup.cs
- DataSourceSelectArguments.cs
- DataColumnPropertyDescriptor.cs
- IUnknownConstantAttribute.cs
- ListViewDeleteEventArgs.cs
- SafeHandles.cs
- WebAdminConfigurationHelper.cs
- JpegBitmapEncoder.cs
- EntityContainerRelationshipSetEnd.cs
- Size3DValueSerializer.cs
- QuotedPrintableStream.cs
- ReturnEventArgs.cs
- UnmanagedMarshal.cs
- DataGridTablesFactory.cs
- RelationshipWrapper.cs
- SiteMap.cs
- DCSafeHandle.cs
- DetailsViewDeletedEventArgs.cs
- DesignerDataSchemaClass.cs
- TextContainerChangedEventArgs.cs
- InProcStateClientManager.cs
- RowType.cs
- DataSourceSerializationException.cs
- UriScheme.cs
- TemplateKeyConverter.cs
- LinqDataSourceValidationException.cs
- Stacktrace.cs
- ComponentCollection.cs
- DecimalAnimation.cs
- BaseAppDomainProtocolHandler.cs
- MetabaseSettings.cs
- DynamicDiscoSearcher.cs
- TypeConverterHelper.cs
- DesigntimeLicenseContextSerializer.cs
- Clause.cs
- Polyline.cs
- TimeZoneInfo.cs
- SpeechEvent.cs
- DataGridViewCellEventArgs.cs
- EventItfInfo.cs
- TripleDESCryptoServiceProvider.cs
- RequestValidator.cs
- DataGridViewRowEventArgs.cs
- ToolCreatedEventArgs.cs
- PropertyMetadata.cs
- RuleInfoComparer.cs
- XsltConvert.cs
- InputLanguage.cs
- dbenumerator.cs
- BoundField.cs