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
- X509CertificateCollection.cs
- Mutex.cs
- CodeConstructor.cs
- BinaryConverter.cs
- TraceSource.cs
- SingleAnimation.cs
- CallContext.cs
- sqlmetadatafactory.cs
- DetailsViewDeletedEventArgs.cs
- XamlTemplateSerializer.cs
- PersonalizationState.cs
- Point3D.cs
- CellIdBoolean.cs
- AsyncPostBackTrigger.cs
- Trace.cs
- LocalizationParserHooks.cs
- WebPartDisplayModeCollection.cs
- WindowInteropHelper.cs
- SoapAttributeAttribute.cs
- bidPrivateBase.cs
- AssemblyCollection.cs
- CodeArrayIndexerExpression.cs
- ChannelCredentials.cs
- ExpressionTable.cs
- COSERVERINFO.cs
- Calendar.cs
- FrameworkPropertyMetadata.cs
- XamlInterfaces.cs
- EventSinkActivityDesigner.cs
- HttpListenerRequest.cs
- ZipPackagePart.cs
- NetCodeGroup.cs
- MinimizableAttributeTypeConverter.cs
- SchemaImporterExtension.cs
- TokenizerHelper.cs
- GeneralTransform3DGroup.cs
- CompilationLock.cs
- AsyncStreamReader.cs
- HttpSessionStateWrapper.cs
- ColumnWidthChangingEvent.cs
- StructuredTypeInfo.cs
- SynchronizationLockException.cs
- WeakHashtable.cs
- Parameter.cs
- WSFederationHttpSecurity.cs
- TransformationRules.cs
- FaultHandlingFilter.cs
- FixedTextPointer.cs
- DataGridCellInfo.cs
- GenericFlowSwitchHelper.cs
- translator.cs
- CultureMapper.cs
- FacetValueContainer.cs
- SystemFonts.cs
- _ConnectOverlappedAsyncResult.cs
- CompositeFontFamily.cs
- NavigationWindow.cs
- ScrollContentPresenter.cs
- _ConnectionGroup.cs
- GiveFeedbackEventArgs.cs
- CompiledELinqQueryState.cs
- LogWriteRestartAreaState.cs
- XmlArrayItemAttribute.cs
- XmlFormatReaderGenerator.cs
- FacetChecker.cs
- BigInt.cs
- Popup.cs
- SecurityAccessDeniedException.cs
- SecurityState.cs
- WsdlInspector.cs
- SafeBitVector32.cs
- RuleSettings.cs
- PropertyCollection.cs
- DataComponentGenerator.cs
- QilVisitor.cs
- Base64Stream.cs
- DoubleLinkListEnumerator.cs
- X509PeerCertificateAuthenticationElement.cs
- WebControl.cs
- CancellationState.cs
- AppliesToBehaviorDecisionTable.cs
- SwitchLevelAttribute.cs
- HttpPostedFile.cs
- SqlServices.cs
- VariableQuery.cs
- TransactionState.cs
- CommonObjectSecurity.cs
- XpsImage.cs
- TranslateTransform3D.cs
- ProtocolElement.cs
- StateMachine.cs
- InvalidDataContractException.cs
- EntityUtil.cs
- UserControl.cs
- BufferModeSettings.cs
- BookmarkEventArgs.cs
- OletxVolatileEnlistment.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- ConstraintEnumerator.cs
- DbConnectionInternal.cs