| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- //------------------------------------------------------------------------------
- // <copyright file="DbDataSourceEnumerator.cs" company="Microsoft">
- // Copyright (c) Microsoft Corporation. All rights reserved.
- // </copyright>
- // <owner current="true" primary="true">Microsoft</owner>
- // <owner current="true" primary="false">Microsoft</owner>
- //------------------------------------------------------------------------------
- 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) {
- }
- }
- */
- }
- }
|