mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-15 09:35:37 -05:00
* Move unused forked code to external directory * Fix SLN build errors * Add back resource provider core since it's referenced by main resource provider project * Update PackageProjects step of pipeline
33 lines
1.1 KiB
C#
33 lines
1.1 KiB
C#
//
|
|
// Copyright (c) Microsoft. All rights reserved.
|
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
//
|
|
|
|
using System.Collections.Concurrent;
|
|
using Microsoft.SqlTools.Hosting.Contracts;
|
|
|
|
namespace Microsoft.SqlTools.Hosting.Protocol
|
|
{
|
|
/// <summary>
|
|
/// Provides context for a received event so that handlers
|
|
/// can write events back to the channel.
|
|
/// </summary>
|
|
public class EventContext : IEventSender
|
|
{
|
|
internal readonly BlockingCollection<Message> messageQueue;
|
|
|
|
public EventContext(BlockingCollection<Message> outgoingMessageQueue)
|
|
{
|
|
// TODO: Either 1) make this constructor internal and provide a test framework for validating
|
|
// or 2) extract an interface for eventcontext to allow users to mock
|
|
messageQueue = outgoingMessageQueue;
|
|
}
|
|
|
|
public void SendEvent<TParams>(EventType<TParams> eventType, TParams eventParams)
|
|
{
|
|
messageQueue.Add(Message.CreateEvent(eventType, eventParams));
|
|
}
|
|
}
|
|
}
|
|
|