//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
#nullable disable
using Microsoft.SqlTools.Hosting.Protocol;
using System.Threading.Tasks;
using Microsoft.SqlTools.Hosting.Protocol.Contracts;
namespace Microsoft.SqlTools.ServiceLayer.QueryExecution
{
///
/// Implementation of IEventSender that swallows events without doing anything with them.
/// In the future this class could be used to roll up all the events and send
/// them all at once
///
public class ResultOnlyContext : IEventSender
{
private readonly RequestContext OrigContext;
public ResultOnlyContext(RequestContext context) {
OrigContext = context;
}
public virtual Task SendEvent(EventType eventType, TParams eventParams)
{
// no op to swallow events
// in the future this could be used to roll up events and send them back in the result
return Task.FromResult(true);
}
public virtual Task SendError(string errorMessage, int errorCode = 0)
{
return OrigContext.SendError(errorMessage, errorCode);
}
}
}