// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
namespace Microsoft.AspNet.PageExecutionInstrumentation
{
///
/// Specifies the contracts for a execution context that instruments web page execution.
///
public interface IPageExecutionContext
{
///
/// Invoked at the start of a write operation.
///
/// The absolute character position of the expression or text in the Razor file.
/// The character length of the expression or text in the Razor file.
/// A flag that indicates if the operation is for a literal text and not for a
/// language expression.
void BeginContext(int position, int length, bool isLiteral);
///
/// Invoked at the end of a write operation.
///
void EndContext();
}
}