/* Copyright 2010-2016 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 abstract Task CreateCollectionAsync(string name, CreateCollectionOptions options = null, CancellationToken cancellationToken = default(CancellationToken));
///
public virtual void CreateView(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 void DropCollection(string name, CancellationToken cancellationToken = default(CancellationToken))
{
throw new NotImplementedException();
}
///
public abstract Task DropCollectionAsync(string name, CancellationToken cancellationToken = default(CancellationToken));
///
public abstract IMongoCollection GetCollection(string name, MongoCollectionSettings settings = null);
///
public virtual IAsyncCursor ListCollections(ListCollectionsOptions options = null, CancellationToken cancellationToken = default(CancellationToken))
{
throw new NotImplementedException();
}
///
public abstract Task> ListCollectionsAsync(ListCollectionsOptions options = null, CancellationToken cancellationToken = default(CancellationToken));
///
public virtual void RenameCollection(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 TResult RunCommand(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 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();
}
}
}