// // 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 shutdownCallback); } }