DbDataSourceEnumerator.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 / Data / System / Data / Common / DbDataSourceEnumerator.cs / 1305376 / DbDataSourceEnumerator.cs

                            //------------------------------------------------------------------------------ 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// [....] 
// [....]
//----------------------------------------------------------------------------- 
 
namespace System.Data.Common {
 
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data; 
    using System.Diagnostics;
    using System.Threading; 
 
    public abstract class DbDataSourceEnumerator { // V1.2.3300
 
        protected DbDataSourceEnumerator() { // V1.2.3300
        }

 
        abstract public DataTable GetDataSources(); // V1.2.3300
 
        /* 
        virtual public IAsyncResult BeginGetDataSources(AsyncCallback callback, object asyncStateObject) { // V1.2.3300
            DbEnumSynchronousAsyncResult asyncResult = new DbEnumSynchronousAsyncResult(callback, asyncStateObject); 
            try {
                asyncResult._dataTable = GetElements();
                asyncResult.SetCompletedSynchronously();
            } 
            catch(DataAdapterException e) {
                ADP.TraceExceptionForCapture(e); 
                asyncResult.ExceptionObject = e; 
            }
            if (null == asyncResult._dataTable) { 
                throw ADP.DataAdapter("no datatable");
            }
            if (null != callback) {
                callback(asyncResult); 
            }
            return asyncResult; 
        } 

        virtual public DataTable EndGetDataSources(IAsyncResult asyncResult) { // V1.2.3300 
            ADP.CheckArgumentNull(asyncResult, "asyncResult");
            DbEnumSynchronousAsyncResult ar = (asyncResult as DbEnumSynchronousAsyncResult);
            if (ar._endXxxCalled) {
                throw ADP.InvalidOperation("EndGetElements called twice"); 
            }
            ar._endXxxCalled = true; 
 
            if (null != ar.ExceptionObject) {
                throw ar.ExceptionObject; 
            }
            return ar._dataTable;
        }
 
        sealed private class DbEnumSynchronousAsyncResult : DbAsyncResult {
            internal bool      _endXxxCalled; 
            internal DataTable _dataTable; 

            internal DbEnumSynchronousAsyncResult(AsyncCallback callback, Object asyncStateObject) : base(null, callback, asyncStateObject) { 
            }
        }
        */
    } 
}

// 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