//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using System;
using System.Threading.Tasks;
using Microsoft.SqlTools.DataProtocol.Contracts;
using Microsoft.SqlTools.Hosting.Protocol;
namespace Microsoft.SqlTools.Hosting
{
///
/// Interface for service hosts. Inherits interface requirements for JSON RPC hosts
///
public interface IServiceHost : IJsonRpcHost
{
///
/// Registers a task to be executed when the initialize event is received
///
/// Function to execute when the initialize event received
void RegisterInitializeTask(Func initializeCallback);
///
/// Registers a task to be executed when the shutdown event is received, before the channel
/// is closed
///
/// Function to execute when the shutdown request is received
void RegisterShutdownTask(Func