File: Packaging\XpsPartBase.cs
Web Access
Project: src\src\Microsoft.DotNet.Wpf\src\ReachFramework\ReachFramework.csproj (ReachFramework)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
 
/*++
                                                             
                                                                              
    Abstract:
        This file contains the definition  and implementation
        for the XpsPartBase class.  This class is the base
        class for all pieces that represent main parts in a
        Xps package such as fixed documents, fixed pages,
        resources, etc.
                
 
--*/
using System;
using System.IO.Packaging;
 
namespace System.Windows.Xps.Packaging
{
    /// <summary>
    ///
    /// </summary>
    public abstract class XpsPartBase
    {
        #region Constructors
 
        /// <summary>
        /// Constructs the base XpsPartBase instance.
        /// </summary>
        /// <param name="xpsManager">
        /// The xps manager controlling this xps object.
        /// </param>
        internal
        XpsPartBase(
            XpsManager    xpsManager
            )
        {
            ArgumentNullException.ThrowIfNull(xpsManager);
 
            _xpsManager = xpsManager;
        }
 
        #endregion Constructors
 
        #region Public properties
 
        /// <summary>
        /// Gets or sets the Uri of the current Xps part.
        /// </summary>
        public Uri Uri
        {
            get
            {
                return _uri;
            }
            set
            {
                _uri = value;
            }
        }
 
        #endregion Public properties
 
        #region Public methods
 
        /// <summary>
        /// Closes the XpsPartBase.
        /// </summary>
        internal
        virtual
        void
        CommitInternal(
            )
        {
            if (null != _xpsManager)
            {
                _xpsManager = null;
            }
        }
 
        #endregion Public methods
 
        #region Internal properties
 
        /// <summary>
        /// Gets a reference to the current Xps manager for
        /// this package.
        /// </summary>
        internal XpsManager CurrentXpsManager
        {
            get
            {
                return _xpsManager;
            }
        }
 
        #endregion Internal properties
 
        #region Private data
 
        private XpsManager _xpsManager;
        private Uri _uri;
 
        #endregion Private data
    }
}