uBaseObject.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #nullable disable
  2. #pragma warning disable CS1591
  3. using System;
  4. using System.Collections.Generic;
  5. namespace Emby.Dlna.PlayTo
  6. {
  7. public class UBaseObject
  8. {
  9. public string Id { get; set; }
  10. public string ParentId { get; set; }
  11. public string Title { get; set; }
  12. public string SecondText { get; set; }
  13. public string IconUrl { get; set; }
  14. public string MetaData { get; set; }
  15. public string Url { get; set; }
  16. public IReadOnlyList<string> ProtocolInfo { get; set; }
  17. public string UpnpClass { get; set; }
  18. public string MediaType
  19. {
  20. get
  21. {
  22. var classType = UpnpClass ?? string.Empty;
  23. if (classType.IndexOf(MediaBrowser.Model.Entities.MediaType.Audio, StringComparison.Ordinal) != -1)
  24. {
  25. return MediaBrowser.Model.Entities.MediaType.Audio;
  26. }
  27. if (classType.IndexOf(MediaBrowser.Model.Entities.MediaType.Video, StringComparison.Ordinal) != -1)
  28. {
  29. return MediaBrowser.Model.Entities.MediaType.Video;
  30. }
  31. if (classType.IndexOf("image", StringComparison.Ordinal) != -1)
  32. {
  33. return MediaBrowser.Model.Entities.MediaType.Photo;
  34. }
  35. return null;
  36. }
  37. }
  38. public bool Equals(UBaseObject obj)
  39. {
  40. if (obj == null)
  41. {
  42. throw new ArgumentNullException(nameof(obj));
  43. }
  44. return string.Equals(Id, obj.Id, StringComparison.Ordinal);
  45. }
  46. }
  47. }