Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Print / Reach / Serialization / manager / ReachDocumentReferenceSerializer.cs / 1 / ReachDocumentReferenceSerializer.cs
/*++
Copyright (C) 2004- 2005 Microsoft Corporation
All rights reserved.
Module Name:
ReachDocumentReferenceSerializer.cs
Abstract:
Author:
[....] ([....]) January 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 ReachDocumentReferenceSerializer :
ReachSerializer
{
///
/// Creates a new serailizer for a DocumentReference
///
/// serialization manager
public
ReachDocumentReferenceSerializer(
PackageSerializationManager manager
):
base(manager)
{
}
private object Idle(object sender)
{
return null;
}
///
///
///
internal
override
void
PersistObjectData(
SerializableObjectContext serializableObjectContext
)
{
if(serializableObjectContext.IsComplexValue)
{
SerializeObjectCore(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));
}
}
}
else
{
// What about this case? Is IsComplexValue something we really want to check for this?
}
}
};
}
// 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
- TimeoutValidationAttribute.cs
- XmlSchemaComplexContentRestriction.cs
- CollectionChangedEventManager.cs
- StateDesigner.cs
- SubclassTypeValidatorAttribute.cs
- KnownBoxes.cs
- XPathDocumentIterator.cs
- SerializationBinder.cs
- DnsPermission.cs
- ArgumentException.cs
- OutOfProcStateClientManager.cs
- XmlSerializationReader.cs
- XmlSchemaNotation.cs
- DocumentSchemaValidator.cs
- EntityContainerEmitter.cs
- _ProxyRegBlob.cs
- Duration.cs
- BlurEffect.cs
- BinarySecretKeyIdentifierClause.cs
- Validator.cs
- ObjectAssociationEndMapping.cs
- LocalServiceSecuritySettings.cs
- AsymmetricKeyExchangeDeformatter.cs
- ForeignKeyConstraint.cs
- SafeProcessHandle.cs
- MemberNameValidator.cs
- DirectoryRedirect.cs
- Oid.cs
- BinaryUtilClasses.cs
- ListenerChannelContext.cs
- EventTrigger.cs
- MD5.cs
- RoleBoolean.cs
- TimeoutValidationAttribute.cs
- ArrayWithOffset.cs
- ScrollChrome.cs
- BindingValueChangedEventArgs.cs
- ProtocolsSection.cs
- ControlCollection.cs
- DefaultEventAttribute.cs
- BasicExpressionVisitor.cs
- FieldBuilder.cs
- InternalControlCollection.cs
- SemanticAnalyzer.cs
- DetailsViewRow.cs
- SemanticResultKey.cs
- ParentUndoUnit.cs
- TextPenaltyModule.cs
- AggregateNode.cs
- MenuAutomationPeer.cs
- BuildProviderCollection.cs
- AstTree.cs
- shaperfactory.cs
- CodeSnippetTypeMember.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- BackgroundWorker.cs
- panel.cs
- MimeFormatter.cs
- RelativeSource.cs
- MatrixCamera.cs
- RegexMatch.cs
- DelegateSerializationHolder.cs
- AdornerPresentationContext.cs
- SeverityFilter.cs
- XmlArrayAttribute.cs
- MultiView.cs
- XmlIncludeAttribute.cs
- PropertyGrid.cs
- OptimalTextSource.cs
- XmlWrappingWriter.cs
- PerformanceCounterPermission.cs
- PrimaryKeyTypeConverter.cs
- CodeTypeDeclarationCollection.cs
- UInt64Converter.cs
- XamlHostingSection.cs
- LoginName.cs
- HttpCapabilitiesSectionHandler.cs
- StrongNameUtility.cs
- TransportSecurityProtocolFactory.cs
- IFormattable.cs
- CachingHintValidation.cs
- InterleavedZipPartStream.cs
- ProfileWorkflowElement.cs
- FileUtil.cs
- DSACryptoServiceProvider.cs
- UserValidatedEventArgs.cs
- NamespaceCollection.cs
- SafeProcessHandle.cs
- AnonymousIdentificationSection.cs
- UriSectionReader.cs
- SQLByte.cs
- DescendentsWalkerBase.cs
- QueryExpression.cs
- KeyGestureConverter.cs
- DLinqAssociationProvider.cs
- SHA1CryptoServiceProvider.cs
- DisposableCollectionWrapper.cs
- SiteMapProvider.cs
- ItemsPanelTemplate.cs
- GroupBox.cs