aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/System
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Model/System')
-rw-r--r--MediaBrowser.Model/System/Architecture.cs10
-rw-r--r--MediaBrowser.Model/System/IEnvironmentInfo.cs24
-rw-r--r--MediaBrowser.Model/System/IPowerManagement.cs11
-rw-r--r--MediaBrowser.Model/System/ISystemEvents.cs12
-rw-r--r--MediaBrowser.Model/System/LogFile.cs31
-rw-r--r--MediaBrowser.Model/System/PublicSystemInfo.cs41
-rw-r--r--MediaBrowser.Model/System/SystemInfo.cs140
-rw-r--r--MediaBrowser.Model/System/WakeOnLanInfo.cs13
8 files changed, 282 insertions, 0 deletions
diff --git a/MediaBrowser.Model/System/Architecture.cs b/MediaBrowser.Model/System/Architecture.cs
new file mode 100644
index 000000000..73f78cd58
--- /dev/null
+++ b/MediaBrowser.Model/System/Architecture.cs
@@ -0,0 +1,10 @@
+namespace MediaBrowser.Model.System
+{
+ public enum Architecture
+ {
+ X86 = 0,
+ X64 = 1,
+ Arm = 2,
+ Arm64 = 3
+ }
+}
diff --git a/MediaBrowser.Model/System/IEnvironmentInfo.cs b/MediaBrowser.Model/System/IEnvironmentInfo.cs
new file mode 100644
index 000000000..8cf25a365
--- /dev/null
+++ b/MediaBrowser.Model/System/IEnvironmentInfo.cs
@@ -0,0 +1,24 @@
+
+namespace MediaBrowser.Model.System
+{
+ public interface IEnvironmentInfo
+ {
+ MediaBrowser.Model.System.OperatingSystem OperatingSystem { get; }
+ string OperatingSystemName { get; }
+ string OperatingSystemVersion { get; }
+ Architecture SystemArchitecture { get; }
+ string GetEnvironmentVariable(string name);
+ void SetProcessEnvironmentVariable(string name, string value);
+ string StackTrace { get; }
+ char PathSeparator { get; }
+ }
+
+ public enum OperatingSystem
+ {
+ Windows,
+ Linux,
+ OSX,
+ BSD,
+ Android
+ }
+}
diff --git a/MediaBrowser.Model/System/IPowerManagement.cs b/MediaBrowser.Model/System/IPowerManagement.cs
new file mode 100644
index 000000000..03907568c
--- /dev/null
+++ b/MediaBrowser.Model/System/IPowerManagement.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace MediaBrowser.Model.System
+{
+ public interface IPowerManagement
+ {
+ void PreventSystemStandby();
+ void AllowSystemStandby();
+ void ScheduleWake(DateTime wakeTimeUtc, string displayName);
+ }
+}
diff --git a/MediaBrowser.Model/System/ISystemEvents.cs b/MediaBrowser.Model/System/ISystemEvents.cs
new file mode 100644
index 000000000..dec8ed8c0
--- /dev/null
+++ b/MediaBrowser.Model/System/ISystemEvents.cs
@@ -0,0 +1,12 @@
+using System;
+
+namespace MediaBrowser.Model.System
+{
+ public interface ISystemEvents
+ {
+ event EventHandler Resume;
+ event EventHandler Suspend;
+ event EventHandler SessionLogoff;
+ event EventHandler SystemShutdown;
+ }
+}
diff --git a/MediaBrowser.Model/System/LogFile.cs b/MediaBrowser.Model/System/LogFile.cs
new file mode 100644
index 000000000..ba409c542
--- /dev/null
+++ b/MediaBrowser.Model/System/LogFile.cs
@@ -0,0 +1,31 @@
+using System;
+
+namespace MediaBrowser.Model.System
+{
+ public class LogFile
+ {
+ /// <summary>
+ /// Gets or sets the date created.
+ /// </summary>
+ /// <value>The date created.</value>
+ public DateTime DateCreated { get; set; }
+
+ /// <summary>
+ /// Gets or sets the date modified.
+ /// </summary>
+ /// <value>The date modified.</value>
+ public DateTime DateModified { get; set; }
+
+ /// <summary>
+ /// Gets or sets the size.
+ /// </summary>
+ /// <value>The size.</value>
+ public long Size { get; set; }
+
+ /// <summary>
+ /// Gets or sets the name.
+ /// </summary>
+ /// <value>The name.</value>
+ public string Name { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/System/PublicSystemInfo.cs b/MediaBrowser.Model/System/PublicSystemInfo.cs
new file mode 100644
index 000000000..b9a3260b0
--- /dev/null
+++ b/MediaBrowser.Model/System/PublicSystemInfo.cs
@@ -0,0 +1,41 @@
+namespace MediaBrowser.Model.System
+{
+ public class PublicSystemInfo
+ {
+ /// <summary>
+ /// Gets or sets the local address.
+ /// </summary>
+ /// <value>The local address.</value>
+ public string LocalAddress { get; set; }
+
+ /// <summary>
+ /// Gets or sets the wan address.
+ /// </summary>
+ /// <value>The wan address.</value>
+ public string WanAddress { get; set; }
+
+ /// <summary>
+ /// Gets or sets the name of the server.
+ /// </summary>
+ /// <value>The name of the server.</value>
+ public string ServerName { get; set; }
+
+ /// <summary>
+ /// Gets or sets the version.
+ /// </summary>
+ /// <value>The version.</value>
+ public string Version { get; set; }
+
+ /// <summary>
+ /// Gets or sets the operating sytem.
+ /// </summary>
+ /// <value>The operating sytem.</value>
+ public string OperatingSystem { get; set; }
+
+ /// <summary>
+ /// Gets or sets the id.
+ /// </summary>
+ /// <value>The id.</value>
+ public string Id { get; set; }
+ }
+} \ No newline at end of file
diff --git a/MediaBrowser.Model/System/SystemInfo.cs b/MediaBrowser.Model/System/SystemInfo.cs
new file mode 100644
index 000000000..c790731c6
--- /dev/null
+++ b/MediaBrowser.Model/System/SystemInfo.cs
@@ -0,0 +1,140 @@
+using MediaBrowser.Model.Updates;
+using System.Collections.Generic;
+using System;
+
+namespace MediaBrowser.Model.System
+{
+ /// <summary>
+ /// Class SystemInfo
+ /// </summary>
+ public class SystemInfo : PublicSystemInfo
+ {
+ public PackageVersionClass SystemUpdateLevel { get; set; }
+
+ /// <summary>
+ /// Gets or sets the display name of the operating system.
+ /// </summary>
+ /// <value>The display name of the operating system.</value>
+ public string OperatingSystemDisplayName { get; set; }
+
+ public string PackageName { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance has pending restart.
+ /// </summary>
+ /// <value><c>true</c> if this instance has pending restart; otherwise, <c>false</c>.</value>
+ public bool HasPendingRestart { get; set; }
+
+ public bool IsShuttingDown { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether [supports library monitor].
+ /// </summary>
+ /// <value><c>true</c> if [supports library monitor]; otherwise, <c>false</c>.</value>
+ public bool SupportsLibraryMonitor { get; set; }
+
+ /// <summary>
+ /// Gets or sets the web socket port number.
+ /// </summary>
+ /// <value>The web socket port number.</value>
+ public int WebSocketPortNumber { get; set; }
+
+ /// <summary>
+ /// Gets or sets the completed installations.
+ /// </summary>
+ /// <value>The completed installations.</value>
+ public InstallationInfo[] CompletedInstallations { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance can self restart.
+ /// </summary>
+ /// <value><c>true</c> if this instance can self restart; otherwise, <c>false</c>.</value>
+ public bool CanSelfRestart { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance can self update.
+ /// </summary>
+ /// <value><c>true</c> if this instance can self update; otherwise, <c>false</c>.</value>
+ public bool CanSelfUpdate { get; set; }
+
+ public bool CanLaunchWebBrowser { get; set; }
+
+ /// <summary>
+ /// Gets or sets the program data path.
+ /// </summary>
+ /// <value>The program data path.</value>
+ public string ProgramDataPath { get; set; }
+
+ /// <summary>
+ /// Gets or sets the items by name path.
+ /// </summary>
+ /// <value>The items by name path.</value>
+ public string ItemsByNamePath { get; set; }
+
+ /// <summary>
+ /// Gets or sets the cache path.
+ /// </summary>
+ /// <value>The cache path.</value>
+ public string CachePath { get; set; }
+
+ /// <summary>
+ /// Gets or sets the log path.
+ /// </summary>
+ /// <value>The log path.</value>
+ public string LogPath { get; set; }
+
+ /// <summary>
+ /// Gets or sets the internal metadata path.
+ /// </summary>
+ /// <value>The internal metadata path.</value>
+ public string InternalMetadataPath { get; set; }
+
+ /// <summary>
+ /// Gets or sets the transcoding temporary path.
+ /// </summary>
+ /// <value>The transcoding temporary path.</value>
+ public string TranscodingTempPath { get; set; }
+
+ /// <summary>
+ /// Gets or sets the HTTP server port number.
+ /// </summary>
+ /// <value>The HTTP server port number.</value>
+ public int HttpServerPortNumber { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether [enable HTTPS].
+ /// </summary>
+ /// <value><c>true</c> if [enable HTTPS]; otherwise, <c>false</c>.</value>
+ public bool SupportsHttps { get; set; }
+
+ /// <summary>
+ /// Gets or sets the HTTPS server port number.
+ /// </summary>
+ /// <value>The HTTPS server port number.</value>
+ public int HttpsPortNumber { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance has update available.
+ /// </summary>
+ /// <value><c>true</c> if this instance has update available; otherwise, <c>false</c>.</value>
+ public bool HasUpdateAvailable { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether [supports automatic run at startup].
+ /// </summary>
+ /// <value><c>true</c> if [supports automatic run at startup]; otherwise, <c>false</c>.</value>
+ public bool SupportsAutoRunAtStartup { get; set; }
+
+ public string EncoderLocationType { get; set; }
+
+ public Architecture SystemArchitecture { get; set; }
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="SystemInfo" /> class.
+ /// </summary>
+ public SystemInfo()
+ {
+ CompletedInstallations = new InstallationInfo[] { };
+ }
+ }
+}
diff --git a/MediaBrowser.Model/System/WakeOnLanInfo.cs b/MediaBrowser.Model/System/WakeOnLanInfo.cs
new file mode 100644
index 000000000..cde867176
--- /dev/null
+++ b/MediaBrowser.Model/System/WakeOnLanInfo.cs
@@ -0,0 +1,13 @@
+namespace MediaBrowser.Model.System
+{
+ public class WakeOnLanInfo
+ {
+ public string MacAddress { get; set; }
+ public int Port { get; set; }
+
+ public WakeOnLanInfo()
+ {
+ Port = 9;
+ }
+ }
+} \ No newline at end of file