//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
namespace Microsoft.SqlTools.ServiceLayer.TaskServices
{
///
/// Defines interface for task operations
///
public interface ITaskOperation
{
///
/// Execute a task
///
/// Task execution mode (e.g. script or execute)
void Execute(TaskExecutionMode mode);
///
/// Cancel a task
///
void Cancel();
///
/// If an error occurred during task execution, this field contains the error message text
///
string ErrorMessage { get; }
///
/// The sql task that's executing the operation
///
SqlTask SqlTask { get; set; }
}
///
/// Defines interface for scriptable task operations
///
public interface IScriptableTaskOperation: ITaskOperation
{
///
/// Script for the task operation
///
string ScriptContent { get; set; }
}
}