Files
FluentTerminal/FluentTerminal.App.Services/ITrayProcessCommunicationService.cs
T

50 lines
1.4 KiB
C#

using FluentTerminal.Models;
using FluentTerminal.Models.Enums;
using FluentTerminal.Models.Responses;
using System;
using System.Threading.Tasks;
namespace FluentTerminal.App.Services
{
public interface ITrayProcessCommunicationService
{
event EventHandler<TerminalExitStatus> TerminalExited;
void Initialize(IAppServiceConnection appServiceConnection);
Task<CreateTerminalResponse> CreateTerminal(byte id, TerminalSize size, ShellProfile shellProfile, SessionType sessionType);
Task<PauseTerminalOutputResponse> PauseTerminalOutput(byte id, bool pause);
Task ResizeTerminal(byte id, TerminalSize size);
Task UpdateToggleWindowKeyBindings();
Task Write(byte terminalId, byte[] data);
void SubscribeForTerminalOutput(byte terminalId, Action<byte[]> callback);
void UnsubscribeFromTerminalOutput(byte terminalId);
Task CloseTerminal(byte terminalId);
byte GetNextTerminalId();
Task<string> GetUserName();
Task SaveTextFileAsync(string path, string content);
Task<string> GetSshConfigDirAsync();
Task<string[]> GetFilesFromSshConfigDirAsync();
Task<bool> CheckFileExistsAsync(string path);
void MuteTerminal(bool mute);
void UpdateSettings(ApplicationSettings settings);
Task<string> GetCommandPathAsync(string command);
Task QuitApplication();
}
}