Example #1
0
        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);
        }
Example #2
0
 protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         _hoverClient.Dispose(); _hoverClient = null;
     }
     base.Dispose(disposing);
 }