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
- SpAudioStreamWrapper.cs
- StreamingContext.cs
- WebPartVerbCollection.cs
- VirtualPathUtility.cs
- ThreadSafeList.cs
- DataGridTable.cs
- DocumentCollection.cs
- SuppressMergeCheckAttribute.cs
- PasswordRecovery.cs
- TreeNodeCollection.cs
- RootCodeDomSerializer.cs
- UInt16Converter.cs
- DeploymentSectionCache.cs
- SplashScreenNativeMethods.cs
- Manipulation.cs
- TextSpan.cs
- DataGrid.cs
- ScriptingJsonSerializationSection.cs
- InnerItemCollectionView.cs
- TrackingExtract.cs
- CatalogPartCollection.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- HiddenFieldPageStatePersister.cs
- ParameterCollection.cs
- ConsoleTraceListener.cs
- ColumnResizeUndoUnit.cs
- SectionInput.cs
- WebPartsSection.cs
- TiffBitmapEncoder.cs
- Stylesheet.cs
- XPathQueryGenerator.cs
- DataGridViewTextBoxCell.cs
- XmlSchemaComplexContentRestriction.cs
- TextSpan.cs
- Int32Converter.cs
- UInt32.cs
- Int32AnimationUsingKeyFrames.cs
- WebBrowserNavigatingEventHandler.cs
- XmlCharType.cs
- DtrList.cs
- ToolStripTextBox.cs
- IListConverters.cs
- HitTestWithPointDrawingContextWalker.cs
- Button.cs
- ReturnEventArgs.cs
- SRGSCompiler.cs
- ExpressionPrinter.cs
- NativeMethods.cs
- ResourceReferenceKeyNotFoundException.cs
- TypeDescriptionProviderAttribute.cs
- TimeoutException.cs
- XmlCountingReader.cs
- CanExecuteRoutedEventArgs.cs
- PolicyManager.cs
- DataSourceCache.cs
- SqlConnection.cs
- RenderCapability.cs
- DataGridViewTopRowAccessibleObject.cs
- LocalBuilder.cs
- XmlName.cs
- Int32Animation.cs
- PixelFormatConverter.cs
- DropDownList.cs
- SlipBehavior.cs
- PropertySourceInfo.cs
- CompiledXpathExpr.cs
- CompiledRegexRunnerFactory.cs
- DelegateTypeInfo.cs
- SerializationFieldInfo.cs
- ColorEditor.cs
- ProgressChangedEventArgs.cs
- PaperSize.cs
- CodeConditionStatement.cs
- SchemaTypeEmitter.cs
- CircleHotSpot.cs
- Page.cs
- TCEAdapterGenerator.cs
- ExpressionBuilderCollection.cs
- StatusBarItem.cs
- Triplet.cs
- MailMessageEventArgs.cs
- ParameterModifier.cs
- XMLUtil.cs
- SqlBulkCopyColumnMappingCollection.cs
- RecordBuilder.cs
- ScrollViewerAutomationPeer.cs
- EventMappingSettings.cs
- UInt16Storage.cs
- GridSplitter.cs
- LocalizableResourceBuilder.cs
- BitmapMetadataBlob.cs
- ArrayList.cs
- DelegateTypeInfo.cs
- unsafeIndexingFilterStream.cs
- NGCSerializationManager.cs
- ServerIdentity.cs
- FixedSOMImage.cs
- BindingMemberInfo.cs
- PrinterUnitConvert.cs
- ErrorItem.cs