aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Library/ItemResolveEventArgs.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Library/ItemResolveEventArgs.cs')
-rw-r--r--MediaBrowser.Controller/Library/ItemResolveEventArgs.cs43
1 files changed, 26 insertions, 17 deletions
diff --git a/MediaBrowser.Controller/Library/ItemResolveEventArgs.cs b/MediaBrowser.Controller/Library/ItemResolveEventArgs.cs
index 5d207de13..4194517be 100644
--- a/MediaBrowser.Controller/Library/ItemResolveEventArgs.cs
+++ b/MediaBrowser.Controller/Library/ItemResolveEventArgs.cs
@@ -1,5 +1,7 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
+using System.Collections.Generic;
+using System.Linq;
using System;
using System.IO;
@@ -12,32 +14,39 @@ namespace MediaBrowser.Controller.Library
{
public WIN32_FIND_DATA[] FileSystemChildren { get; set; }
- public WIN32_FIND_DATA? GetFileSystemEntry(string path)
+ protected List<string> _additionalLocations = new List<string>();
+ public List<string> AdditionalLocations
{
- for (int i = 0; i < FileSystemChildren.Length; i++)
+ get
{
- WIN32_FIND_DATA entry = FileSystemChildren[i];
-
- if (entry.Path.Equals(path, StringComparison.OrdinalIgnoreCase))
- {
- return entry;
- }
+ return _additionalLocations;
+ }
+ set
+ {
+ _additionalLocations = value;
}
-
- return null;
}
- public bool ContainsFile(string name)
+ public IEnumerable<string> PhysicalLocations
{
- for (int i = 0; i < FileSystemChildren.Length; i++)
+ get
{
- if (FileSystemChildren[i].cFileName.Equals(name, StringComparison.OrdinalIgnoreCase))
- {
- return true;
- }
+ return (new List<string>() {this.Path}).Concat(AdditionalLocations);
}
+ }
- return false;
+ public bool IsBDFolder { get; set; }
+ public bool IsDVDFolder { get; set; }
+
+ public WIN32_FIND_DATA? GetFileSystemEntry(string path)
+ {
+ WIN32_FIND_DATA entry = FileSystemChildren.FirstOrDefault(f => f.Path.Equals(path, StringComparison.OrdinalIgnoreCase));
+ return entry.cFileName != null ? (WIN32_FIND_DATA?)entry : null;
+ }
+
+ public bool ContainsFile(string name)
+ {
+ return FileSystemChildren.FirstOrDefault(f => f.cFileName.Equals(name, StringComparison.OrdinalIgnoreCase)).cFileName != null;
}
public bool ContainsFolder(string name)