aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Controller/Entities/IVirtualFolderCreator.cs15
-rw-r--r--MediaBrowser.Controller/Kernel.cs4
-rw-r--r--MediaBrowser.Controller/Library/LibraryManager.cs4
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj1
-rw-r--r--MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj6
5 files changed, 23 insertions, 7 deletions
diff --git a/MediaBrowser.Controller/Entities/IVirtualFolderCreator.cs b/MediaBrowser.Controller/Entities/IVirtualFolderCreator.cs
new file mode 100644
index 000000000..57e9e8d5d
--- /dev/null
+++ b/MediaBrowser.Controller/Entities/IVirtualFolderCreator.cs
@@ -0,0 +1,15 @@
+
+namespace MediaBrowser.Controller.Entities
+{
+ /// <summary>
+ /// Interface IVirtualFolderCreator
+ /// </summary>
+ public interface IVirtualFolderCreator
+ {
+ /// <summary>
+ /// Gets the folder.
+ /// </summary>
+ /// <returns>Folder.</returns>
+ BasePluginFolder GetFolder();
+ }
+}
diff --git a/MediaBrowser.Controller/Kernel.cs b/MediaBrowser.Controller/Kernel.cs
index 25a049435..6bd48a502 100644
--- a/MediaBrowser.Controller/Kernel.cs
+++ b/MediaBrowser.Controller/Kernel.cs
@@ -230,8 +230,7 @@ namespace MediaBrowser.Controller
/// Gets the list of BasePluginFolders added by plugins
/// </summary>
/// <value>The plugin folders.</value>
- [ImportMany(typeof(BasePluginFolder))]
- internal IEnumerable<BasePluginFolder> PluginFolders { get; private set; }
+ internal IEnumerable<IVirtualFolderCreator> PluginFolderCreators { get; private set; }
/// <summary>
/// Gets the list of available user repositories
@@ -387,6 +386,7 @@ namespace MediaBrowser.Controller
IntroProviders = GetExports<IIntroProvider>(allTypes);
PluginConfigurationPages = GetExports<IPluginConfigurationPage>(allTypes);
ImageEnhancers = GetExports<IImageEnhancer>(allTypes);
+ PluginFolderCreators = GetExports<IVirtualFolderCreator>(allTypes);
}
/// <summary>
diff --git a/MediaBrowser.Controller/Library/LibraryManager.cs b/MediaBrowser.Controller/Library/LibraryManager.cs
index 4087f9ef8..dfaef12cb 100644
--- a/MediaBrowser.Controller/Library/LibraryManager.cs
+++ b/MediaBrowser.Controller/Library/LibraryManager.cs
@@ -186,9 +186,9 @@ namespace MediaBrowser.Controller.Library
var rootFolder = Kernel.ItemRepository.RetrieveItem(rootFolderPath.GetMBId(typeof(AggregateFolder))) as AggregateFolder ?? (AggregateFolder)GetItem(rootFolderPath);
// Add in the plug-in folders
- foreach (var child in Kernel.PluginFolders)
+ foreach (var child in Kernel.PluginFolderCreators)
{
- rootFolder.AddVirtualChild(child);
+ rootFolder.AddVirtualChild(child.GetFolder());
}
return rootFolder;
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index 26107b9c9..cfd14f2b7 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -95,6 +95,7 @@
<Compile Include="Entities\Genre.cs" />
<Compile Include="Entities\ICollectionFolder.cs" />
<Compile Include="Entities\IndexFolder.cs" />
+ <Compile Include="Entities\IVirtualFolderCreator.cs" />
<Compile Include="Entities\Movies\BoxSet.cs" />
<Compile Include="Entities\Movies\Movie.cs" />
<Compile Include="Entities\Person.cs" />
diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
index 91ca577a7..85efe04f1 100644
--- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
+++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
@@ -389,9 +389,9 @@
<EmbeddedResource Include="Html\css\images\itemDetails\videoDefault.png" />
<EmbeddedResource Include="Html\css\images\itemDetails\audioDefault.png" />
<EmbeddedResource Include="Html\css\images\itemDetails\gameDefault.png" />
- <Content Include="Html\css\images\mblogoicon.png" />
- <Content Include="Html\css\images\mblogotextblack.png" />
- <Content Include="Html\css\images\mblogotextwhite.png" />
+ <EmbeddedResource Include="Html\css\images\mblogoicon.png" />
+ <EmbeddedResource Include="Html\css\images\mblogotextblack.png" />
+ <EmbeddedResource Include="Html\css\images\mblogotextwhite.png" />
<Content Include="Html\css\images\stars.png" />
<EmbeddedResource Include="Html\scripts\MediaPlayer.js" />
</ItemGroup>