uBaseObject.cs 1.6 KB

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