aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Plugins
diff options
context:
space:
mode:
authorAndrew Rabert <ar@nullsum.net>2018-12-27 18:27:57 -0500
committerAndrew Rabert <ar@nullsum.net>2018-12-27 18:27:57 -0500
commita86b71899ec52c44ddc6c3018e8cc5e9d7ff4d62 (patch)
treea74f6ea4a8abfa1664a605d31d48bc38245ccf58 /MediaBrowser.Controller/Plugins
parent9bac3ac616b01f67db98381feb09d34ebe821f9a (diff)
Add GPL modules
Diffstat (limited to 'MediaBrowser.Controller/Plugins')
-rw-r--r--MediaBrowser.Controller/Plugins/ILocalizablePlugin.cs20
-rw-r--r--MediaBrowser.Controller/Plugins/IPluginConfigurationPage.cs50
-rw-r--r--MediaBrowser.Controller/Plugins/IServerEntryPoint.cs20
3 files changed, 90 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Plugins/ILocalizablePlugin.cs b/MediaBrowser.Controller/Plugins/ILocalizablePlugin.cs
new file mode 100644
index 000000000..d294107d7
--- /dev/null
+++ b/MediaBrowser.Controller/Plugins/ILocalizablePlugin.cs
@@ -0,0 +1,20 @@
+using System.IO;
+using System.Reflection;
+
+namespace MediaBrowser.Controller.Plugins
+{
+ public interface ILocalizablePlugin
+ {
+ Stream GetDictionary(string culture);
+ }
+
+ public static class LocalizablePluginHelper
+ {
+ public static Stream GetDictionary(Assembly assembly, string manifestPrefix, string culture)
+ {
+ // Find all dictionaries using GetManifestResourceNames, start start with the prefix
+ // Return the one for the culture if exists, otherwise return the default
+ return null;
+ }
+ }
+}
diff --git a/MediaBrowser.Controller/Plugins/IPluginConfigurationPage.cs b/MediaBrowser.Controller/Plugins/IPluginConfigurationPage.cs
new file mode 100644
index 000000000..5feaf798c
--- /dev/null
+++ b/MediaBrowser.Controller/Plugins/IPluginConfigurationPage.cs
@@ -0,0 +1,50 @@
+using MediaBrowser.Common.Plugins;
+using System.IO;
+
+namespace MediaBrowser.Controller.Plugins
+{
+ /// <summary>
+ /// Interface IConfigurationPage
+ /// </summary>
+ public interface IPluginConfigurationPage
+ {
+ /// <summary>
+ /// Gets the name.
+ /// </summary>
+ /// <value>The name.</value>
+ string Name { get; }
+
+ /// <summary>
+ /// Gets the type of the configuration page.
+ /// </summary>
+ /// <value>The type of the configuration page.</value>
+ ConfigurationPageType ConfigurationPageType { get; }
+
+ /// <summary>
+ /// Gets the plugin.
+ /// </summary>
+ /// <value>The plugin.</value>
+ IPlugin Plugin { get; }
+
+ /// <summary>
+ /// Gets the HTML stream.
+ /// </summary>
+ /// <returns>Stream.</returns>
+ Stream GetHtmlStream();
+ }
+
+ /// <summary>
+ /// Enum ConfigurationPageType
+ /// </summary>
+ public enum ConfigurationPageType
+ {
+ /// <summary>
+ /// The plugin configuration
+ /// </summary>
+ PluginConfiguration,
+ /// <summary>
+ /// The none
+ /// </summary>
+ None
+ }
+}
diff --git a/MediaBrowser.Controller/Plugins/IServerEntryPoint.cs b/MediaBrowser.Controller/Plugins/IServerEntryPoint.cs
new file mode 100644
index 000000000..9ad829e45
--- /dev/null
+++ b/MediaBrowser.Controller/Plugins/IServerEntryPoint.cs
@@ -0,0 +1,20 @@
+using System;
+
+namespace MediaBrowser.Controller.Plugins
+{
+ /// <summary>
+ /// Interface IServerEntryPoint
+ /// </summary>
+ public interface IServerEntryPoint : IDisposable
+ {
+ /// <summary>
+ /// Runs this instance.
+ /// </summary>
+ void Run();
+ }
+
+ public interface IRunBeforeStartup
+ {
+
+ }
+}