DataServicePagingProviderWrapper.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Server / System / Data / Services / Providers / DataServicePagingProviderWrapper.cs / 1305376 / DataServicePagingProviderWrapper.cs

                            //---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//  
//      Wrapper for IDataServicePagingProvider discovery by service instance.
//  
// 
// @owner  [....]
//--------------------------------------------------------------------- 

namespace System.Data.Services.Providers
{
    /// Wrapper for IDataServicePagingProvider interface discovery. 
    internal sealed class DataServicePagingProviderWrapper
    { 
        /// IDataServicePagingProvider interface for the service. 
        private IDataServicePagingProvider pagingProvider;
 
        /// Service instance.
        private IDataService service;

        /// Was interface already requested. 
        private bool checkedForIDataServicePagingProvider;
 
        /// Constructor. 
        /// Service instance.
        public DataServicePagingProviderWrapper(IDataService serviceInstance) 
        {
            this.service = serviceInstance;
        }
 
        /// Gives reference to IDataServicePagingProvider interface implemented by the service.
        public IDataServicePagingProvider PagingProviderInterface 
        { 
            get
            { 
                if (!this.checkedForIDataServicePagingProvider)
                {
                    this.pagingProvider = this.service.Provider.GetService(this.service);
                    this.checkedForIDataServicePagingProvider = true; 
                }
 
                return this.pagingProvider; 
            }
        } 

        /// Is custom paging enabled for the service for query processing.
        public bool IsCustomPagedForQuery
        { 
            get
            { 
                return this.PagingProviderInterface != null; 
            }
        } 

        /// Do we need to handle custom paging during serialization.
        public bool IsCustomPagedForSerialization
        { 
            get
            { 
                if (!this.checkedForIDataServicePagingProvider) 
                {
                    return false; 
                }
                else
                {
                    return this.pagingProvider != null; 
                }
            } 
        } 

        ///  
        /// Dispose the pagingProvider provider instance
        /// 
        internal void DisposeProvider()
        { 
            if (this.pagingProvider != null)
            { 
                WebUtil.Dispose(this.pagingProvider); 
                this.pagingProvider = null;
            } 
        }
    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.


                        

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