Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Print / Reach / Packaging / XpsResource.cs / 1 / XpsResource.cs
/*++ Copyright (C) 2004 - 2005 Microsoft Corporation All rights reserved. Module Name: XpsResource.cs Abstract: This file contains the definition and implementation for the XpsResource class. This class acts as the base class for all resources that can be added to a Xps package. Author: [....] ([....]) 1-November-2004 Revision History: Brian Adleberg ([....] ) 12-July-2005 Reach -> Xps --*/ using System; using System.Collections.Generic; using System.IO; using System.IO.Packaging; namespace System.Windows.Xps.Packaging { ////// Base class for all Xps Resources /// ///part is null. public class XpsResource : XpsPartBase, INode, IDisposable { #region Constructors internal XpsResource( XpsManager xpsManager, INode parent, PackagePart part ) : base(xpsManager) { if (null == part) { throw new ArgumentNullException("part"); } this.Uri = part.Uri; _parentNode = parent; _metroPart = part; _partEditor = new PartEditor(_metroPart); } #endregion Constructors #region Public methods ////// This method retrieves the relative Uri for this resource /// based on a supplied absolute resource. /// /// /// Absolute Uri used for conversion. /// ////// A Uri to this resource relative to the supplied resource. /// public Uri RelativeUri( Uri inUri ) { if( inUri == null ) { throw new ArgumentNullException("inUri"); } return new Uri(XpsManager.MakeRelativePath(this.Uri, inUri), UriKind.Relative); } ////// This method retrieves a reference to the Stream that can /// be used to read and/or write data to/from this resource /// within the Metro package. /// ////// A reference to a writable/readable stream. /// public virtual Stream GetStream( ) { return _partEditor.DataStream; } ////// This method commits all changes for this resource /// public void Commit( ) { CommitInternal(); } ////// This method closes this resource part and frees all /// associated memory. /// internal override void CommitInternal() { if (_partEditor != null) { _partEditor.Close(); _partEditor = null; _metroPart = null; _parentNode = null; } } #endregion Public methods #region Private data private INode _parentNode; private PackagePart _metroPart; private PartEditor _partEditor; #endregion Private data #region INode implementation void INode.Flush( ) { if( _partEditor != null ) { // // Flush the part editor // _partEditor.Flush(); } } void INode.CommitInternal() { CommitInternal(); } PackagePart INode.GetPart( ) { return _metroPart; } #endregion INode implementation #region IDisposable implementation void IDisposable.Dispose() { if (_partEditor != null) { _partEditor.Close(); } } #endregion IDisposable implementation } } // 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
- EntityCommandCompilationException.cs
- QueryException.cs
- AssemblyHash.cs
- UnsafeNativeMethods.cs
- ComplexObject.cs
- DotExpr.cs
- HttpApplication.cs
- EventListener.cs
- SplitterCancelEvent.cs
- SchemaExporter.cs
- ToolboxItemSnapLineBehavior.cs
- InstanceDataCollection.cs
- WebServiceErrorEvent.cs
- ControlType.cs
- AssemblyInfo.cs
- ServiceBehaviorElement.cs
- IPAddressCollection.cs
- WorkItem.cs
- ContractHandle.cs
- Normalization.cs
- AssemblyHelper.cs
- SiteOfOriginContainer.cs
- CodeAccessPermission.cs
- ExpressionBinding.cs
- MetaModel.cs
- TranslateTransform.cs
- IDispatchConstantAttribute.cs
- SubclassTypeValidator.cs
- ArgIterator.cs
- OperationParameterInfo.cs
- XmlAttributeCollection.cs
- HtmlShimManager.cs
- XmlAttributeCache.cs
- COM2AboutBoxPropertyDescriptor.cs
- MouseCaptureWithinProperty.cs
- fixedPageContentExtractor.cs
- CollectionContainer.cs
- XmlAttributeCollection.cs
- RenderDataDrawingContext.cs
- PrePostDescendentsWalker.cs
- ResXFileRef.cs
- List.cs
- LayoutEngine.cs
- SecurityTokenResolver.cs
- FragmentQueryKB.cs
- CustomCategoryAttribute.cs
- SystemIPAddressInformation.cs
- DeploymentSectionCache.cs
- BuiltInExpr.cs
- SQLUtility.cs
- MarkupCompiler.cs
- OdbcTransaction.cs
- XmlObjectSerializer.cs
- SplitterCancelEvent.cs
- InlineCollection.cs
- TailCallAnalyzer.cs
- Base64Stream.cs
- WCFServiceClientProxyGenerator.cs
- AddressHeader.cs
- ArraySet.cs
- HtmlControl.cs
- SizeF.cs
- ControlCollection.cs
- CompensationDesigner.cs
- CompositionCommandSet.cs
- SqlWebEventProvider.cs
- WithStatement.cs
- NamedPipeTransportElement.cs
- APCustomTypeDescriptor.cs
- EncodingInfo.cs
- HwndSourceParameters.cs
- Scene3D.cs
- LocationChangedEventArgs.cs
- EntityTypeEmitter.cs
- basevalidator.cs
- DataIdProcessor.cs
- DateTimeValueSerializer.cs
- ResourceManager.cs
- SqlTrackingWorkflowInstance.cs
- SqlDataSource.cs
- RolePrincipal.cs
- TextEditorSelection.cs
- ExceptionUtil.cs
- BufferCache.cs
- UrlMappingCollection.cs
- SpotLight.cs
- AppDomainShutdownMonitor.cs
- StickyNote.cs
- AutomationPropertyInfo.cs
- TextParagraphCache.cs
- StringValidator.cs
- PictureBox.cs
- InternalResources.cs
- XPathDocumentIterator.cs
- XmlSerializationReader.cs
- StylusPlugInCollection.cs
- ActivityTrace.cs
- HelpOperationInvoker.cs
- OleDbReferenceCollection.cs
- OutOfProcStateClientManager.cs