aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Updates
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Model/Updates')
-rw-r--r--MediaBrowser.Model/Updates/CheckForUpdateResult.cs30
-rw-r--r--MediaBrowser.Model/Updates/InstallationInfo.cs46
-rw-r--r--MediaBrowser.Model/Updates/PackageInfo.cs176
-rw-r--r--MediaBrowser.Model/Updates/PackageTargetSystem.cs21
-rw-r--r--MediaBrowser.Model/Updates/PackageVersionClass.cs21
-rw-r--r--MediaBrowser.Model/Updates/PackageVersionInfo.cs95
6 files changed, 389 insertions, 0 deletions
diff --git a/MediaBrowser.Model/Updates/CheckForUpdateResult.cs b/MediaBrowser.Model/Updates/CheckForUpdateResult.cs
new file mode 100644
index 000000000..ff0bba197
--- /dev/null
+++ b/MediaBrowser.Model/Updates/CheckForUpdateResult.cs
@@ -0,0 +1,30 @@
+
+namespace MediaBrowser.Model.Updates
+{
+ /// <summary>
+ /// Class CheckForUpdateResult
+ /// </summary>
+ public class CheckForUpdateResult
+ {
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance is update available.
+ /// </summary>
+ /// <value><c>true</c> if this instance is update available; otherwise, <c>false</c>.</value>
+ public bool IsUpdateAvailable { get; set; }
+
+ /// <summary>
+ /// Gets or sets the available version.
+ /// </summary>
+ /// <value>The available version.</value>
+ public string AvailableVersion
+ {
+ get { return Package != null ? Package.versionStr : "0.0.0.1"; }
+ set { } // need this for the serializer
+ }
+
+ /// <summary>
+ /// Get or sets package information for an available update
+ /// </summary>
+ public PackageVersionInfo Package { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Updates/InstallationInfo.cs b/MediaBrowser.Model/Updates/InstallationInfo.cs
new file mode 100644
index 000000000..09b4975a8
--- /dev/null
+++ b/MediaBrowser.Model/Updates/InstallationInfo.cs
@@ -0,0 +1,46 @@
+using System;
+
+namespace MediaBrowser.Model.Updates
+{
+ /// <summary>
+ /// Class InstallationInfo
+ /// </summary>
+ public class InstallationInfo
+ {
+ /// <summary>
+ /// Gets or sets the id.
+ /// </summary>
+ /// <value>The id.</value>
+ public Guid Id { get; set; }
+
+ /// <summary>
+ /// Gets or sets the name.
+ /// </summary>
+ /// <value>The name.</value>
+ public string Name { get; set; }
+
+ /// <summary>
+ /// Gets or sets the assembly guid.
+ /// </summary>
+ /// <value>The guid of the assembly.</value>
+ public string AssemblyGuid { get; set; }
+
+ /// <summary>
+ /// Gets or sets the version.
+ /// </summary>
+ /// <value>The version.</value>
+ public string Version { get; set; }
+
+ /// <summary>
+ /// Gets or sets the update class.
+ /// </summary>
+ /// <value>The update class.</value>
+ public PackageVersionClass UpdateClass { get; set; }
+
+ /// <summary>
+ /// Gets or sets the percent complete.
+ /// </summary>
+ /// <value>The percent complete.</value>
+ public double? PercentComplete { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Updates/PackageInfo.cs b/MediaBrowser.Model/Updates/PackageInfo.cs
new file mode 100644
index 000000000..e46d59fc0
--- /dev/null
+++ b/MediaBrowser.Model/Updates/PackageInfo.cs
@@ -0,0 +1,176 @@
+using System;
+using System.Collections.Generic;
+
+namespace MediaBrowser.Model.Updates
+{
+ /// <summary>
+ /// Class PackageInfo
+ /// </summary>
+ public class PackageInfo
+ {
+ /// <summary>
+ /// The internal id of this package.
+ /// </summary>
+ /// <value>The id.</value>
+ public string id { get; set; }
+
+ /// <summary>
+ /// Gets or sets the name.
+ /// </summary>
+ /// <value>The name.</value>
+ public string name { get; set; }
+
+ /// <summary>
+ /// Gets or sets the short description.
+ /// </summary>
+ /// <value>The short description.</value>
+ public string shortDescription { get; set; }
+
+ /// <summary>
+ /// Gets or sets the overview.
+ /// </summary>
+ /// <value>The overview.</value>
+ public string overview { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance is premium.
+ /// </summary>
+ /// <value><c>true</c> if this instance is premium; otherwise, <c>false</c>.</value>
+ public bool isPremium { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance is adult only content.
+ /// </summary>
+ /// <value><c>true</c> if this instance is adult; otherwise, <c>false</c>.</value>
+ public bool adult { get; set; }
+
+ /// <summary>
+ /// Gets or sets the rich desc URL.
+ /// </summary>
+ /// <value>The rich desc URL.</value>
+ public string richDescUrl { get; set; }
+
+ /// <summary>
+ /// Gets or sets the thumb image.
+ /// </summary>
+ /// <value>The thumb image.</value>
+ public string thumbImage { get; set; }
+
+ /// <summary>
+ /// Gets or sets the preview image.
+ /// </summary>
+ /// <value>The preview image.</value>
+ public string previewImage { get; set; }
+
+ /// <summary>
+ /// Gets or sets the type.
+ /// </summary>
+ /// <value>The type.</value>
+ public string type { get; set; }
+
+ /// <summary>
+ /// Gets or sets the target filename.
+ /// </summary>
+ /// <value>The target filename.</value>
+ public string targetFilename { get; set; }
+
+ /// <summary>
+ /// Gets or sets the owner.
+ /// </summary>
+ /// <value>The owner.</value>
+ public string owner { get; set; }
+
+ /// <summary>
+ /// Gets or sets the category.
+ /// </summary>
+ /// <value>The category.</value>
+ public string category { get; set; }
+
+ /// <summary>
+ /// Gets or sets the catalog tile color.
+ /// </summary>
+ /// <value>The owner.</value>
+ public string tileColor { get; set; }
+
+ /// <summary>
+ /// Gets or sets the feature id of this package (if premium).
+ /// </summary>
+ /// <value>The feature id.</value>
+ public string featureId { get; set; }
+
+ /// <summary>
+ /// Gets or sets the registration info for this package (if premium).
+ /// </summary>
+ /// <value>The registration info.</value>
+ public string regInfo { get; set; }
+
+ /// <summary>
+ /// Gets or sets the price for this package (if premium).
+ /// </summary>
+ /// <value>The price.</value>
+ public float price { get; set; }
+
+ /// <summary>
+ /// Gets or sets the target system for this plug-in (Server, MBTheater, MBClassic).
+ /// </summary>
+ /// <value>The target system.</value>
+ public PackageTargetSystem targetSystem { get; set; }
+
+ /// <summary>
+ /// The guid of the assembly associated with this package (if a plug-in).
+ /// This is used to identify the proper item for automatic updates.
+ /// </summary>
+ /// <value>The name.</value>
+ public string guid { get; set; }
+
+ /// <summary>
+ /// Gets or sets the total number of ratings for this package.
+ /// </summary>
+ /// <value>The total ratings.</value>
+ public int? totalRatings { get; set; }
+
+ /// <summary>
+ /// Gets or sets the average rating for this package .
+ /// </summary>
+ /// <value>The rating.</value>
+ public float avgRating { get; set; }
+
+ /// <summary>
+ /// Gets or sets whether or not this package is registered.
+ /// </summary>
+ /// <value>True if registered.</value>
+ public bool isRegistered { get; set; }
+
+ /// <summary>
+ /// Gets or sets the expiration date for this package.
+ /// </summary>
+ /// <value>Expiration Date.</value>
+ public DateTime expDate { get; set; }
+
+ /// <summary>
+ /// Gets or sets the versions.
+ /// </summary>
+ /// <value>The versions.</value>
+ public PackageVersionInfo[] versions { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether [enable in application store].
+ /// </summary>
+ /// <value><c>true</c> if [enable in application store]; otherwise, <c>false</c>.</value>
+ public bool enableInAppStore { get; set; }
+
+ /// <summary>
+ /// Gets or sets the installs.
+ /// </summary>
+ /// <value>The installs.</value>
+ public int installs { get; set; }
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="PackageInfo"/> class.
+ /// </summary>
+ public PackageInfo()
+ {
+ versions = new PackageVersionInfo[] { };
+ }
+ }
+}
diff --git a/MediaBrowser.Model/Updates/PackageTargetSystem.cs b/MediaBrowser.Model/Updates/PackageTargetSystem.cs
new file mode 100644
index 000000000..c80dddde3
--- /dev/null
+++ b/MediaBrowser.Model/Updates/PackageTargetSystem.cs
@@ -0,0 +1,21 @@
+namespace MediaBrowser.Model.Updates
+{
+ /// <summary>
+ /// Enum PackageType
+ /// </summary>
+ public enum PackageTargetSystem
+ {
+ /// <summary>
+ /// Server
+ /// </summary>
+ Server,
+ /// <summary>
+ /// MB Theater
+ /// </summary>
+ MBTheater,
+ /// <summary>
+ /// MB Classic
+ /// </summary>
+ MBClassic
+ }
+} \ No newline at end of file
diff --git a/MediaBrowser.Model/Updates/PackageVersionClass.cs b/MediaBrowser.Model/Updates/PackageVersionClass.cs
new file mode 100644
index 000000000..3f51e1b3c
--- /dev/null
+++ b/MediaBrowser.Model/Updates/PackageVersionClass.cs
@@ -0,0 +1,21 @@
+namespace MediaBrowser.Model.Updates
+{
+ /// <summary>
+ /// Enum PackageVersionClass
+ /// </summary>
+ public enum PackageVersionClass
+ {
+ /// <summary>
+ /// The release
+ /// </summary>
+ Release = 0,
+ /// <summary>
+ /// The beta
+ /// </summary>
+ Beta = 1,
+ /// <summary>
+ /// The dev
+ /// </summary>
+ Dev = 2
+ }
+} \ No newline at end of file
diff --git a/MediaBrowser.Model/Updates/PackageVersionInfo.cs b/MediaBrowser.Model/Updates/PackageVersionInfo.cs
new file mode 100644
index 000000000..3ac518187
--- /dev/null
+++ b/MediaBrowser.Model/Updates/PackageVersionInfo.cs
@@ -0,0 +1,95 @@
+using System;
+using MediaBrowser.Model.Serialization;
+
+namespace MediaBrowser.Model.Updates
+{
+ /// <summary>
+ /// Class PackageVersionInfo
+ /// </summary>
+ public class PackageVersionInfo
+ {
+ /// <summary>
+ /// Gets or sets the name.
+ /// </summary>
+ /// <value>The name.</value>
+ public string name { get; set; }
+
+ /// <summary>
+ /// Gets or sets the guid.
+ /// </summary>
+ /// <value>The guid.</value>
+ public string guid { get; set; }
+
+ /// <summary>
+ /// Gets or sets the version STR.
+ /// </summary>
+ /// <value>The version STR.</value>
+ public string versionStr { get; set; }
+
+ /// <summary>
+ /// The _version
+ /// </summary>
+ private Version _version;
+ /// <summary>
+ /// Gets or sets the version.
+ /// Had to make this an interpreted property since Protobuf can't handle Version
+ /// </summary>
+ /// <value>The version.</value>
+ [IgnoreDataMember]
+ public Version version
+ {
+ get { return _version ?? (_version = new Version(ValueOrDefault(versionStr, "0.0.0.1"))); }
+ }
+
+ /// <summary>
+ /// Values the or default.
+ /// </summary>
+ /// <param name="str">The STR.</param>
+ /// <param name="def">The def.</param>
+ /// <returns>System.String.</returns>
+ private static string ValueOrDefault(string str, string def)
+ {
+ return string.IsNullOrEmpty(str) ? def : str;
+ }
+
+ /// <summary>
+ /// Gets or sets the classification.
+ /// </summary>
+ /// <value>The classification.</value>
+ public PackageVersionClass classification { get; set; }
+
+ /// <summary>
+ /// Gets or sets the description.
+ /// </summary>
+ /// <value>The description.</value>
+ public string description { get; set; }
+
+ /// <summary>
+ /// Gets or sets the required version STR.
+ /// </summary>
+ /// <value>The required version STR.</value>
+ public string requiredVersionStr { get; set; }
+
+ /// <summary>
+ /// Gets or sets the source URL.
+ /// </summary>
+ /// <value>The source URL.</value>
+ public string sourceUrl { get; set; }
+
+ /// <summary>
+ /// Gets or sets the source URL.
+ /// </summary>
+ /// <value>The source URL.</value>
+ public string checksum { get; set; }
+
+ /// <summary>
+ /// Gets or sets the target filename.
+ /// </summary>
+ /// <value>The target filename.</value>
+ public string targetFilename { get; set; }
+
+ public string infoUrl { get; set; }
+
+ public string runtimes { get; set; }
+ }
+} \ No newline at end of file