Files
FluentTerminal/FluentTerminal.App/Services/Implementation/KeyboardCommandService.cs
T
2018-05-01 13:10:47 +02:00

27 lines
788 B
C#

using System;
using System.Collections.Generic;
using FluentTerminal.Models.Enums;
namespace FluentTerminal.App.Services.Implementation
{
public class KeyboardCommandService : IKeyboardCommandService
{
private readonly Dictionary<Command, Action> _commandHandlers = new Dictionary<Command, Action>();
public void RegisterCommandHandler(Command command, Action handler)
{
_commandHandlers[command] = handler;
}
public void SendCommand(Command command)
{
if (_commandHandlers.TryGetValue(command, out Action handler))
{
handler.Invoke();
return;
}
throw new Exception($"No handler registered for command: {command}");
}
}
}