PackageVersionInfo.cs 2.1 KB

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