ConsoleHostService.cs 954 B

1234567891011121314151617181920212223242526272829
  1. using Chino.IO;
  2. using Chino.IO.Devices;
  3. using Chino.Objects;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Text;
  7. namespace Chino.Services
  8. {
  9. public sealed class ConsoleHostService
  10. {
  11. public static ConsoleHostService Current { get; } = new ConsoleHostService();
  12. public Accessor<Device> Stdin { get; }
  13. public Accessor<Device> Stdout { get; }
  14. public Accessor<Device> Stderr { get; }
  15. public ConsoleHostService()
  16. {
  17. var defaultConsole = ConsoleDevice.DefaultDevicePath;
  18. Stdin = ObjectManager.OpenObject<Device>(AccessMask.GenericRead, new ObjectAttributes { Name = defaultConsole });
  19. Stdout = ObjectManager.OpenObject<Device>(AccessMask.GenericWrite, new ObjectAttributes { Name = defaultConsole });
  20. Stderr = ObjectManager.OpenObject<Device>(AccessMask.GenericWrite, new ObjectAttributes { Name = defaultConsole });
  21. }
  22. }
  23. }