//******************************************************************************************************
// LanguageConstraint.cs - Gbtc
//
// Copyright © 2016, Grid Protection Alliance. All Rights Reserved.
//
// Licensed to the Grid Protection Alliance (GPA) under one or more contributor license agreements. See
// the NOTICE file distributed with this work for additional information regarding copyright ownership.
// The GPA licenses this file to you under the MIT License (MIT), the "License"; you may not use this
// file except in compliance with the License. You may obtain a copy of the License at:
//
// http://opensource.org/licenses/MIT
//
// Unless agreed to in writing, the subject software distributed under the License is distributed on an
// "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. Refer to the
// License for the specific language governing permissions and limitations.
//
// Code Modification History:
// ----------------------------------------------------------------------------------------------------
// 05/05/2016 - J. Ritchie Carroll
// Generated original version of source code.
//
//******************************************************************************************************
using RazorEngine;
namespace GSF.Web.Model
{
///
/// Defines a language constraint for a .
///
public abstract class LanguageConstraint
{
///
/// Gets target language for the implementation.
///
public abstract Language TargetLanguage
{
get;
}
///
/// Gets resolution mode for views.
///
public virtual RazorViewResolutionMode ResolutionMode => RazorViewResolutionMode.ResolvePath;
}
///
/// Defines a C# based language constraint.
///
public class CSharp : LanguageConstraint
{
///
/// Gets target language for the implementation - C#.
///
public override Language TargetLanguage => Language.CSharp;
}
///
/// Defines a C# based language constraint in debug mode.
///
public class CSharpDebug : CSharp
{
///
/// Gets resolution mode for views - watching resolve path for debugging operations.
///
public override RazorViewResolutionMode ResolutionMode => RazorViewResolutionMode.WatchingResolvePath;
}
///
/// Defines a C# based language constraint for embedded resources.
///
public class CSharpEmbeddedResource : CSharp
{
///
/// Gets resolution mode for views - embedded resources.
///
public override RazorViewResolutionMode ResolutionMode => RazorViewResolutionMode.EmbeddedResource;
}
///
/// Defines a Visual Basic based language constraint.
///
public class VisualBasic : LanguageConstraint
{
///
/// Gets target language for the implementation - Visual Basic.
///
public override Language TargetLanguage => Language.VisualBasic;
}
///
/// Defines a Visual Basic based language constraint in debug mode.
///
public class VisualBasicDebug : VisualBasic
{
///
/// Gets resolution mode for views - watching resolve path for debugging operations.
///
public override RazorViewResolutionMode ResolutionMode => RazorViewResolutionMode.WatchingResolvePath;
}
///
/// Defines a Visual Basic based language constraint for embedded resources.
///
public class VisualBasicEmbeddedResource : VisualBasic
{
///
/// Gets resolution mode for views - embedded resources.
///
public override RazorViewResolutionMode ResolutionMode => RazorViewResolutionMode.EmbeddedResource;
}
}