ReachPrintTicketSerializerAsync.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Print / Reach / Serialization / manager / ReachPrintTicketSerializerAsync.cs / 1 / ReachPrintTicketSerializerAsync.cs

                             
/*++

    Copyright (C) 2004- 2005 Microsoft Corporation
    All rights reserved. 

    Module Name: 
        ReachPrintTicketSerializerAsync.cs 

    Abstract: 
        This file contains the definition of a class that defines
        the common functionality required to serialize a PrintTicket.

    Author: 
        [....] ([....]) 25-May-2005
 
    Revision History: 
--*/
using System; 
using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel; 
using System.Diagnostics;
using System.Reflection; 
using System.Xml; 
using System.IO;
using System.Security; 
using System.Security.Permissions;
using System.ComponentModel.Design.Serialization;
using System.Windows.Xps.Packaging;
using System.Windows.Documents; 
using System.Windows.Media;
using System.Windows.Markup; 
using System.Printing; 

namespace System.Windows.Xps.Serialization 
{
    /// 
    /// Class defining common functionality required to
    /// serialize a PrintTicket. 
    /// 
    internal class PrintTicketSerializerAsync : 
                   ReachSerializerAsync 
    {
        #region Constructor 

        /// 
        /// Constructor for class PrintTicketSerializer
        ///  
        /// 
        /// The serialization manager, the services of which are 
        /// used later in the serialization process of the type. 
        /// 
        public 
        PrintTicketSerializerAsync(
            PackageSerializationManager manager
            ):
        base(manager) 
        {
        } 
 
        #endregion Constructor
 
        #region Public Methods

        /// 
        /// The main method that is called to serialize a PrintTicket. 
        /// 
        ///  
        /// Instance of object to be serialized. 
        /// 
        public 
        override
        void
        SerializeObject(
            object serializedObject 
            )
        { 
            PrintTicket printTicket = serializedObject as PrintTicket; 

            if (printTicket == null) 
            {
                //
                // Throw a meaningful exception
                // 
                throw new XpsSerializationException(ReachSR.Get(ReachSRID.ReachSerialization_TargetNotPrintTicket));
            } 
 
            ((XpsSerializationManagerAsync)SerializationManager).
            PackagingPolicy.PersistPrintTicket(printTicket); 
        }

        #endregion Public Methods
 
        #region Internal Methods
 
        ///  
        /// The main method that is called to serialize the PrintTicket
        /// and that is usually called from within the serialization manager 
        /// when a node in the graph of objects is at a turn where it should
        /// be serialized.
        /// 
        ///  
        /// The context of the property being serialized at this time and
        /// it points internally to the object encapsulated by that node. 
        ///  
        internal
        override 
        void
        SerializeObject(
            SerializablePropertyContext serializedProperty
            ) 
        {
            if(serializedProperty == null) 
            { 
                throw new ArgumentNullException("serializedProperty");
            } 

            SerializeObject(serializedProperty.Value);
        }
 

        ///  
        /// Persists the object for the print ticket but in this case it is 
        /// not utilized
        ///  
        internal
        override
        void
        PersistObjectData( 
            SerializableObjectContext   serializableObjectContext
            ) 
        { 
            //
            // Do nothing here 
            //
        }

        #endregion Internal Methods 
    };
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK