CrossPlatformHelper.cs 2.4 KB

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