Code:
                         / 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / Microsoft / SqlServer / Server / SmiConnection.cs / 1305376 / SmiConnection.cs
                        
                        
                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
//  
// [....]  
// [....] 
//----------------------------------------------------------------------------- 
 
namespace Microsoft.SqlServer.Server {
 
    using System;
    using System.Data;
    internal abstract class SmiConnection : IDisposable { 
        // 
        // Miscellaneous directives / accessors 
        //
 
        internal abstract string GetCurrentDatabase(
            SmiEventSink        eventSink
        );
 
        internal abstract void SetCurrentDatabase (
            string              databaseName, 
            SmiEventSink        eventSink 
        );
 
        //
        // IDisposable
        //
        public virtual void Dispose( ) { 
            // Obsoleting from SMI -- use Close( SmiEventSink ) instead.
            //  Intended to be removed (along with inheriting IDisposable) prior to RTM. 
 
            // Implement body with throw because there are only a couple of ways to get to this code:
            //  1) Client is calling this method even though the server negotiated for V3+ and dropped support for V2-. 
            //  2) Server didn't implement V2- on some interface and negotiated V2-.
            System.Data.Common.ADP.InternalError( System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod );
        }
 
        public virtual void Close(
            SmiEventSink        eventSink 
        ) { 
            // Adding as of V3
 
            // Implement body with throw because there are only a couple of ways to get to this code:
            //  1) Client is calling this method even though the server negotiated for V2- and hasn't implemented V3 yet.
            //  2) Server didn't implement V3 on some interface, but negotiated V3+.
            System.Data.Common.ADP.InternalError( System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod ); 
        }
 
 
        //
        // Transaction API (should we encapsulate in it's own class or interface?) 
        //
        internal abstract void BeginTransaction (
            string              name,
            IsolationLevel      level, 
            SmiEventSink        eventSink
        ); 
 
        internal abstract void CommitTransaction (
            long                transactionId, 
            SmiEventSink        eventSink
        );
        internal abstract void CreateTransactionSavePoint ( 
            long                transactionId,
            string              name, 
            SmiEventSink        eventSink 
        );
 
        internal abstract byte[] GetDTCAddress( // better buffer management needed?  I.e. non-allocating call needed/possible?
            SmiEventSink        eventSink
        );
 
        internal abstract void EnlistTransaction (
            byte[]              token,                // better buffer management needed?  I.e. non-allocating call needed/possible? 
            SmiEventSink        eventSink 
        );
 
        internal abstract byte[] PromoteTransaction ( // better buffer management needed?  I.e. non-allocating call needed/possible?
            long                transactionId,
            SmiEventSink        eventSink
        ); 
        internal abstract void RollbackTransaction ( 
            long                transactionId, 
            string              savePointName,        // only roll back to save point if name non-null
            SmiEventSink        eventSink 
        );
    }
} 
 
 
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        
                        
                        
                        
                    Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NullRuntimeConfig.cs
- CodeThrowExceptionStatement.cs
- Base64Decoder.cs
- DataGridTextBox.cs
- WebBrowserProgressChangedEventHandler.cs
- DesignerFrame.cs
- SqlClientMetaDataCollectionNames.cs
- ObjectViewEntityCollectionData.cs
- IsolatedStorageException.cs
- RelativeSource.cs
- AppSettingsReader.cs
- ConstraintEnumerator.cs
- TableRow.cs
- ContractType.cs
- BasePattern.cs
- milrender.cs
- IncrementalReadDecoders.cs
- MemberInitExpression.cs
- EditorBrowsableAttribute.cs
- FieldNameLookup.cs
- TextRangeEdit.cs
- DefaultExpression.cs
- PropertyChangedEventManager.cs
- MemberInfoSerializationHolder.cs
- ContainerControl.cs
- FileSystemEventArgs.cs
- FollowerQueueCreator.cs
- ServiceReference.cs
- XmlSerializerNamespaces.cs
- DesignerObject.cs
- FileFormatException.cs
- BookmarkCallbackWrapper.cs
- WindowsFormsDesignerOptionService.cs
- FilteredAttributeCollection.cs
- WorkflowRuntimeElement.cs
- Row.cs
- XmlEntityReference.cs
- StringInfo.cs
- DesigntimeLicenseContextSerializer.cs
- FileSystemInfo.cs
- ImageField.cs
- StickyNoteAnnotations.cs
- DPCustomTypeDescriptor.cs
- FSWPathEditor.cs
- PcmConverter.cs
- ProtocolProfile.cs
- CatalogZone.cs
- WorkflowInstance.cs
- FlagsAttribute.cs
- ResolveMatchesApril2005.cs
- PersonalizationStateQuery.cs
- MarkupExtensionParser.cs
- ConfigXmlComment.cs
- SqlMethodCallConverter.cs
- TableStyle.cs
- BitmapVisualManager.cs
- InvalidateEvent.cs
- Point3D.cs
- HttpStreamMessage.cs
- PrivacyNoticeBindingElementImporter.cs
- ISAPIRuntime.cs
- CodeDOMUtility.cs
- SmtpReplyReader.cs
- Utils.cs
- ConfigUtil.cs
- GridView.cs
- TextParagraphProperties.cs
- HtmlDocument.cs
- WebHttpBindingElement.cs
- SerialPinChanges.cs
- baseaxisquery.cs
- DocumentApplicationJournalEntry.cs
- PersonalizationState.cs
- PeerService.cs
- StorageEntitySetMapping.cs
- KeyValuePair.cs
- RangeValuePatternIdentifiers.cs
- ZoomingMessageFilter.cs
- ToolStripGripRenderEventArgs.cs
- HttpVersion.cs
- UseAttributeSetsAction.cs
- DetailsView.cs
- XmlHierarchicalDataSourceView.cs
- DataServiceHostFactory.cs
- WebPartCloseVerb.cs
- TaiwanCalendar.cs
- TransformConverter.cs
- SortQuery.cs
- DescriptionAttribute.cs
- BamlTreeNode.cs
- DataSourceBooleanViewSchemaConverter.cs
- ButtonBase.cs
- ChineseLunisolarCalendar.cs
- NeutralResourcesLanguageAttribute.cs
- LoginUtil.cs
- RowVisual.cs
- CodeMethodReturnStatement.cs
- SymbolEqualComparer.cs
- MergeFailedEvent.cs
- ConfigXmlCDataSection.cs