From b50f78e5da6f3fdfc59e577ca61b88771da7d211 Mon Sep 17 00:00:00 2001 From: LukePulverenti Luke Pulverenti luke pulverenti Date: Thu, 12 Jul 2012 02:55:27 -0400 Subject: Initial check-in --- .../Events/ItemResolveEventArgs.cs | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 MediaBrowser.Controller/Events/ItemResolveEventArgs.cs (limited to 'MediaBrowser.Controller/Events') diff --git a/MediaBrowser.Controller/Events/ItemResolveEventArgs.cs b/MediaBrowser.Controller/Events/ItemResolveEventArgs.cs new file mode 100644 index 000000000..831eb29d4 --- /dev/null +++ b/MediaBrowser.Controller/Events/ItemResolveEventArgs.cs @@ -0,0 +1,94 @@ +using System; +using System.Collections.Generic; +using MediaBrowser.Model.Entities; +using System.IO; +using System.Linq; + +namespace MediaBrowser.Controller.Events +{ + public class ItemResolveEventArgs : PreBeginResolveEventArgs + { + public IEnumerable> FileSystemChildren { get; set; } + + public KeyValuePair? GetFolderByName(string name) + { + foreach (KeyValuePair entry in FileSystemChildren) + { + if (!entry.Value.HasFlag(FileAttributes.Directory)) + { + continue; + } + + if (System.IO.Path.GetFileName(entry.Key).Equals(name, StringComparison.OrdinalIgnoreCase)) + { + return entry; + } + } + + return null; + } + + public KeyValuePair? GetFileByName(string name) + { + foreach (KeyValuePair entry in FileSystemChildren) + { + if (entry.Value.HasFlag(FileAttributes.Directory)) + { + continue; + } + + if (System.IO.Path.GetFileName(entry.Key).Equals(name, StringComparison.OrdinalIgnoreCase)) + { + return entry; + } + } + + return null; + } + + public bool ContainsFile(string name) + { + return GetFileByName(name) != null; + } + + public bool ContainsFolder(string name) + { + return GetFolderByName(name) != null; + } + } + + public class PreBeginResolveEventArgs : EventArgs + { + public string Path { get; set; } + public BaseItem Parent { get; set; } + + public bool Cancel { get; set; } + + public FileAttributes FileAttributes { get; set; } + + public bool IsFolder + { + get + { + return FileAttributes.HasFlag(FileAttributes.Directory); + } + } + + public bool IsHidden + { + get + { + return FileAttributes.HasFlag(FileAttributes.Hidden); + } + } + + public bool IsSystemFile + { + get + { + return FileAttributes.HasFlag(FileAttributes.System); + } + } + + } +} -- cgit v1.2.3