PackageVersionInfo.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using MediaBrowser.Model.Extensions;
  2. using ProtoBuf;
  3. using System;
  4. using System.Runtime.Serialization;
  5. namespace MediaBrowser.Model.Updates
  6. {
  7. /// <summary>
  8. /// Class PackageVersionInfo
  9. /// </summary>
  10. [ProtoContract]
  11. public class PackageVersionInfo
  12. {
  13. /// <summary>
  14. /// Gets or sets the name.
  15. /// </summary>
  16. /// <value>The name.</value>
  17. [ProtoMember(1)]
  18. public string name { get; set; }
  19. /// <summary>
  20. /// Gets or sets the version STR.
  21. /// </summary>
  22. /// <value>The version STR.</value>
  23. [ProtoMember(2)]
  24. public string versionStr { get; set; }
  25. /// <summary>
  26. /// The _version
  27. /// </summary>
  28. private Version _version;
  29. /// <summary>
  30. /// Gets or sets the version.
  31. /// Had to make this an interpreted property since Protobuf can't handle Version
  32. /// </summary>
  33. /// <value>The version.</value>
  34. [IgnoreDataMember]
  35. public Version version
  36. {
  37. get { return _version ?? (_version = new Version(versionStr.ValueOrDefault("0.0.0.1"))); }
  38. }
  39. /// <summary>
  40. /// Gets or sets the classification.
  41. /// </summary>
  42. /// <value>The classification.</value>
  43. [ProtoMember(4)]
  44. public PackageVersionClass classification { get; set; }
  45. /// <summary>
  46. /// Gets or sets the description.
  47. /// </summary>
  48. /// <value>The description.</value>
  49. [ProtoMember(5)]
  50. public string description { get; set; }
  51. /// <summary>
  52. /// Gets or sets the required version STR.
  53. /// </summary>
  54. /// <value>The required version STR.</value>
  55. [ProtoMember(6)]
  56. public string requiredVersionStr { get; set; }
  57. /// <summary>
  58. /// Gets or sets the source URL.
  59. /// </summary>
  60. /// <value>The source URL.</value>
  61. [ProtoMember(8)]
  62. public string sourceUrl { get; set; }
  63. /// <summary>
  64. /// Gets or sets the source URL.
  65. /// </summary>
  66. /// <value>The source URL.</value>
  67. [ProtoMember(9)]
  68. public Guid checksum { get; set; }
  69. /// <summary>
  70. /// Gets or sets the target filename.
  71. /// </summary>
  72. /// <value>The target filename.</value>
  73. [ProtoMember(10)]
  74. public string targetFilename { get; set; }
  75. }
  76. }