// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.AspNet.Mvc.ViewEngines;
namespace Microsoft.AspNet.Mvc.Razor
{
///
/// An used to render pages that use the Razor syntax.
///
public interface IRazorViewEngine : IViewEngine
{
///
/// Finds the page with the given using view locations and information from the
/// .
///
/// The .
/// The name of the page.
/// The of locating the page.
/// .
RazorPageResult FindPage(ActionContext context, string pageName);
///
/// Gets the page with the given , relative to
/// unless is already absolute.
///
/// The absolute path to the currently-executing page, if any.
/// The path to the page.
/// The of locating the page.
/// .
RazorPageResult GetPage(string executingFilePath, string pagePath);
///
/// Converts the given to be absolute, relative to
/// unless is already absolute.
///
/// The absolute path to the currently-executing page, if any.
/// The path to the page.
///
/// The combination of and if
/// is a relative path. The value (unchanged)
/// otherwise.
///
string GetAbsolutePath(string executingFilePath, string pagePath);
}
}