/* Copyright 2010-present MongoDB Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ using System; using System.Threading; using System.Threading.Tasks; using MongoDB.Bson; namespace MongoDB.Driver { /// /// Base class for implementors of . /// public abstract class MongoDatabaseBase : IMongoDatabase { // public properties /// public abstract IMongoClient Client { get; } /// public abstract DatabaseNamespace DatabaseNamespace { get; } /// public abstract MongoDatabaseSettings Settings { get; } // public methods /// public virtual void CreateCollection(string name, CreateCollectionOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public virtual void CreateCollection(IClientSessionHandle session, string name, CreateCollectionOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public abstract Task CreateCollectionAsync(string name, CreateCollectionOptions options = null, CancellationToken cancellationToken = default(CancellationToken)); /// public virtual Task CreateCollectionAsync(IClientSessionHandle session, string name, CreateCollectionOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public virtual void CreateView(string viewName, string viewOn, PipelineDefinition pipeline, CreateViewOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public virtual void CreateView(IClientSessionHandle session, string viewName, string viewOn, PipelineDefinition pipeline, CreateViewOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public virtual Task CreateViewAsync(string viewName, string viewOn, PipelineDefinition pipeline, CreateViewOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public virtual Task CreateViewAsync(IClientSessionHandle session, string viewName, string viewOn, PipelineDefinition pipeline, CreateViewOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public virtual void DropCollection(string name, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public virtual void DropCollection(IClientSessionHandle session, string name, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public abstract Task DropCollectionAsync(string name, CancellationToken cancellationToken = default(CancellationToken)); /// public virtual Task DropCollectionAsync(IClientSessionHandle session, string name, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public abstract IMongoCollection GetCollection(string name, MongoCollectionSettings settings = null); /// public virtual IAsyncCursor ListCollectionNames(ListCollectionNamesOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public virtual IAsyncCursor ListCollectionNames(IClientSessionHandle session, ListCollectionNamesOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public virtual Task> ListCollectionNamesAsync(ListCollectionNamesOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public virtual Task> ListCollectionNamesAsync(IClientSessionHandle session, ListCollectionNamesOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public virtual IAsyncCursor ListCollections(ListCollectionsOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public virtual IAsyncCursor ListCollections(IClientSessionHandle session, ListCollectionsOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public abstract Task> ListCollectionsAsync(ListCollectionsOptions options = null, CancellationToken cancellationToken = default(CancellationToken)); /// public virtual Task> ListCollectionsAsync(IClientSessionHandle session, ListCollectionsOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public virtual void RenameCollection(string oldName, string newName, RenameCollectionOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public virtual void RenameCollection(IClientSessionHandle session, string oldName, string newName, RenameCollectionOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public abstract Task RenameCollectionAsync(string oldName, string newName, RenameCollectionOptions options = null, CancellationToken cancellationToken = default(CancellationToken)); /// public virtual Task RenameCollectionAsync(IClientSessionHandle session, string oldName, string newName, RenameCollectionOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public virtual TResult RunCommand(Command command, ReadPreference readPreference = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public virtual TResult RunCommand(IClientSessionHandle session, Command command, ReadPreference readPreference = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public abstract Task RunCommandAsync(Command command, ReadPreference readPreference = null, CancellationToken cancellationToken = default(CancellationToken)); /// public virtual Task RunCommandAsync(IClientSessionHandle session, Command command, ReadPreference readPreference = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); } /// public virtual IAsyncCursor Watch( PipelineDefinition, TResult> pipeline, ChangeStreamOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); // implemented by subclasses } /// public virtual IAsyncCursor Watch( IClientSessionHandle session, PipelineDefinition, TResult> pipeline, ChangeStreamOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); // implemented by subclasses } /// public virtual Task> WatchAsync( PipelineDefinition, TResult> pipeline, ChangeStreamOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); // implemented by subclasses } /// public virtual Task> WatchAsync( IClientSessionHandle session, PipelineDefinition, TResult> pipeline, ChangeStreamOptions options = null, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); // implemented by subclasses } /// public virtual IMongoDatabase WithReadConcern(ReadConcern readConcern) { throw new NotImplementedException(); } /// public virtual IMongoDatabase WithReadPreference(ReadPreference readPreference) { throw new NotImplementedException(); } /// public virtual IMongoDatabase WithWriteConcern(WriteConcern writeConcern) { throw new NotImplementedException(); } } }