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
- _AutoWebProxyScriptHelper.cs
- DecimalConverter.cs
- cryptoapiTransform.cs
- PrintDialogException.cs
- BrowserTree.cs
- DirectionalLight.cs
- JoinTreeSlot.cs
- ReadingWritingEntityEventArgs.cs
- MetabaseServerConfig.cs
- RadialGradientBrush.cs
- ApplyHostConfigurationBehavior.cs
- DataIdProcessor.cs
- UtilityExtension.cs
- ConnectionProviderAttribute.cs
- EntityDesignerDataSourceView.cs
- TypeUtil.cs
- MultipartIdentifier.cs
- WebPartConnectionsDisconnectVerb.cs
- DataServiceQueryProvider.cs
- XmlKeywords.cs
- ManifestSignedXml.cs
- ConfigurationConverterBase.cs
- RectangleGeometry.cs
- NumericExpr.cs
- TextServicesLoader.cs
- Application.cs
- CounterSample.cs
- PropertyDescriptorCollection.cs
- SqlCacheDependencyDatabaseCollection.cs
- TextFormatter.cs
- StorageComplexPropertyMapping.cs
- AutoGeneratedField.cs
- PropertyDescriptorComparer.cs
- EntityStoreSchemaFilterEntry.cs
- XmlEncodedRawTextWriter.cs
- XmlSchemaInfo.cs
- IsolatedStoragePermission.cs
- Executor.cs
- QueryContinueDragEvent.cs
- InputProcessorProfilesLoader.cs
- Comparer.cs
- XmlSchemaSimpleContentExtension.cs
- SelectorAutomationPeer.cs
- ObjectDataSourceSelectingEventArgs.cs
- DbConvert.cs
- COAUTHIDENTITY.cs
- DocumentOrderComparer.cs
- DesignerEventService.cs
- Point.cs
- Base64Decoder.cs
- _FixedSizeReader.cs
- RadioButton.cs
- RuleSettings.cs
- GridViewColumnHeaderAutomationPeer.cs
- SocketInformation.cs
- AccessibleObject.cs
- Events.cs
- TableAdapterManagerHelper.cs
- HtmlInputRadioButton.cs
- DoubleStorage.cs
- IdnMapping.cs
- BamlVersionHeader.cs
- TraceSection.cs
- WindowsScrollBarBits.cs
- XmlSchemas.cs
- TypeBuilderInstantiation.cs
- WS2007HttpBindingCollectionElement.cs
- NavigatorInput.cs
- AmbientLight.cs
- SkewTransform.cs
- LayoutEvent.cs
- JoinGraph.cs
- Compress.cs
- FontFamilyConverter.cs
- OdbcStatementHandle.cs
- WebPartDisplayModeCollection.cs
- WebPartMovingEventArgs.cs
- X509CertificateClaimSet.cs
- BasicKeyConstraint.cs
- TypeElement.cs
- OleDbConnectionInternal.cs
- ZipIOExtraFieldZip64Element.cs
- EmptyQuery.cs
- ButtonRenderer.cs
- ValueTypeFixupInfo.cs
- XmlEnumAttribute.cs
- VariantWrapper.cs
- Completion.cs
- ClientTarget.cs
- FilterElement.cs
- IsolatedStorageSecurityState.cs
- QilLiteral.cs
- PipeStream.cs
- UInt16Storage.cs
- _CommandStream.cs
- TextBoxLine.cs
- DeploymentExceptionMapper.cs
- ReadOnlyDictionary.cs
- ContainerControl.cs
- XpsColorContext.cs