CrossPlatformHelper.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using Vinno.vCloud.FIS.CrossPlatform.Common.Consultation.Interface;
  2. using Vinno.vCloud.FIS.CrossPlatform.Common.Enum;
  3. using Vinno.vCloud.FIS.CrossPlatform.Common.Hardware.Interface;
  4. using Vinno.vCloud.FIS.CrossPlatform.Common.LiveVideo.Interface;
  5. using Vinno.vCloud.FIS.CrossPlatform.Common.Log.Interface;
  6. namespace Vinno.vCloud.FIS.CrossPlatform.Common
  7. {
  8. public class CrossPlatformHelper
  9. {
  10. private static CrossPlatformHelper _instance;
  11. /// <summary>
  12. /// The unique instance of app manager
  13. /// </summary>
  14. public static CrossPlatformHelper Instance => _instance ?? (_instance = new CrossPlatformHelper());
  15. public EnumPlatform Platform { get; set; }
  16. /// <summary>
  17. /// Gets or sets LiveVideoPusherCreator to create pusher for different platform
  18. /// </summary>
  19. public ILiveVideoPusherCreator LiveVideoPusherCreator { get; set; }
  20. /// <summary>
  21. /// Gets or sets the LiveVideoPusherCreatorForSonopost
  22. /// </summary>
  23. public ILiveVideoPusherCreatorForSonopost LiveVideoPusherCreatorForSonopost { get; set; }
  24. /// <summary>
  25. /// Gets or sets the LiveVideoPusherCreatorV2
  26. /// </summary>
  27. public ILiveVideoPusherCreatorV2 LiveVideoPusherCreatorV2 { get; set; }
  28. /// <summary>
  29. /// Gets or sets the creator to create rtc room.
  30. /// </summary>
  31. public IRtcRoomCreator RtcRoomCreator { get; set; }
  32. /// <summary>
  33. /// Gets or sets the live video player creator.
  34. /// </summary>
  35. public IRtmpPlayerCreator RtmpPlayerCreator { get; set; }
  36. /// <summary>
  37. /// Gets or sets the live pusher creator.
  38. /// </summary>
  39. public IRtmpPusherCreator RtmpPusherCreator { get; set; }
  40. /// <summary>
  41. /// Gets or sets the hardware detector.
  42. /// </summary>
  43. public IHardwareDetector HardwareDetector { get; set; }
  44. /// <summary>
  45. /// Gets or sets the image helper
  46. /// </summary>
  47. public IImageHelperCreator ImageHelperCreator { get; set; }
  48. /// <summary>
  49. /// Gets or sets the Log Writer
  50. /// </summary>
  51. public ILogWriter LogWriter { get; set; }
  52. /// <summary>
  53. /// Gets or sets the capturer Creator
  54. /// </summary>
  55. public ICapturerCreator CapturerCreator { get; set; }
  56. /// <summary>
  57. /// Gets or sets the driverHelper
  58. /// </summary>
  59. public IDriverHelper DriverHelper { get; set; }
  60. /// <summary>
  61. /// Gets or sets the StrokeHelper
  62. /// </summary>
  63. public IStrokeHelper StrokeHelper { get; set; }
  64. }
  65. }