internal async Task Connect(ConnectionInfo connectionInfo, Session session, ILogger logger) { var address = connectionInfo.Network == "unix" ? $"unix://{connectionInfo.Address}" : connectionInfo.Address; var channel = new Channel(address, ChannelCredentials.Insecure); await channel.ConnectAsync(); var interceptedChannel = channel.Intercept(new ExceptionLoggingInterceptor(logger)); Console.Error.WriteLine("[DEBUG] GRPC Channel Connected"); Whisper = new WhisperClient(interceptedChannel, session, logger); Clipboard = new ClipboardClient(interceptedChannel, session, logger); Filesystem = new FilesystemClient(interceptedChannel, session, logger); Cursor = new CursorClient(interceptedChannel, session, logger); Keyboard = new KeyboardClient(interceptedChannel, session, logger); Network = new NetworkClient(interceptedChannel, session, logger); Process = new ProcessClient(interceptedChannel, session, logger); Browser = new BrowserClient(interceptedChannel, session, logger); Hover = new HoverClient(interceptedChannel, session, logger); Window = new WindowClient(interceptedChannel, session, logger); Storage = new StorageClient(interceptedChannel, session, logger); UI = new UIClient(interceptedChannel, session, logger); }
protected override void Dispose(bool disposing) { if (disposing) { _hoverClient.Dispose(); _hoverClient = null; } base.Dispose(disposing); }