#region License
// Copyright 2005-2019 Paul Kohler (https://github.com/paulkohler/minisqlquery). All rights reserved.
// This source code is made available under the terms of the GNU Lesser General Public License v3.0
// https://github.com/paulkohler/minisqlquery/blob/master/LICENSE
#endregion
namespace MiniSqlQuery.Core
{
///
/// The file editor resolver interface.
/// Given a file name or extention the service will work out the most appropriate editor to use.
///
public interface IFileEditorResolver
{
///
/// Gets an array of the file descriptiors.
///
/// An array of objects.
FileEditorDescriptor[] GetFileTypes();
///
/// Registers the specified file editor descriptor.
///
/// The file editor descriptor.
void Register(FileEditorDescriptor fileEditorDescriptor);
///
/// Resolves the editor instance from the container based on the filename.
///
/// The filename.
/// An editor.
IEditor ResolveEditorInstance(string filename);
///
/// Works out the "name" of the editor to use based on the .
///
/// The extention ("sql", "txt"/".txt" etc).
/// The name of an editor in the container.
string ResolveEditorNameByExtension(string extension);
}
}