// 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 System;
using System.IO;
using Microsoft.AspNetCore.Razor.CodeGenerators;
namespace Microsoft.AspNetCore.Mvc.Razor
{
///
/// Specifies the contracts for a Razor host that parses Razor files and generates C# code.
///
public interface IMvcRazorHost : IDisposable
{
///
/// Parses and generates the contents of a Razor file represented by .
///
/// The path of the relative to the root of the application.
/// Used to generate line pragmas and calculate the class name of the generated type.
/// A that represents the Razor contents.
/// A instance that represents the results of code generation.
///
GeneratorResults GenerateCode(string rootRelativePath, Stream inputStream);
///
/// Represent the namespace the main entry class in the view.
///
string DefaultNamespace { get; }
}
}