diff options
| author | crobibero <cody@robibe.ro> | 2021-06-20 07:09:24 -0600 |
|---|---|---|
| committer | crobibero <cody@robibe.ro> | 2021-06-20 07:09:24 -0600 |
| commit | 23dd6e2d9fdcb65f3ca13914c83f8ffbbd7e1743 (patch) | |
| tree | 38e905846e02da5e255b1ef23ea27a749b53c453 /MediaBrowser.Controller/Entities/LinkedChildComparer.cs | |
| parent | 078b6244ee060b2c5caddc3ba8a60633c4e95054 (diff) | |
| parent | 0c3dcdf77b0d124517bffa608bfddf7d8f7682db (diff) | |
Merge remote-tracking branch 'upstream/master' into baseitemkind-fixes
Diffstat (limited to 'MediaBrowser.Controller/Entities/LinkedChildComparer.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/LinkedChildComparer.cs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Entities/LinkedChildComparer.cs b/MediaBrowser.Controller/Entities/LinkedChildComparer.cs new file mode 100644 index 000000000..4e58e2942 --- /dev/null +++ b/MediaBrowser.Controller/Entities/LinkedChildComparer.cs @@ -0,0 +1,35 @@ +#nullable disable + +#pragma warning disable CS1591 + +using System; +using System.Collections.Generic; +using MediaBrowser.Model.IO; + +namespace MediaBrowser.Controller.Entities +{ + public class LinkedChildComparer : IEqualityComparer<LinkedChild> + { + private readonly IFileSystem _fileSystem; + + public LinkedChildComparer(IFileSystem fileSystem) + { + _fileSystem = fileSystem; + } + + public bool Equals(LinkedChild x, LinkedChild y) + { + if (x.Type == y.Type) + { + return _fileSystem.AreEqual(x.Path, y.Path); + } + + return false; + } + + public int GetHashCode(LinkedChild obj) + { + return ((obj.Path ?? string.Empty) + (obj.LibraryItemId ?? string.Empty) + obj.Type).GetHashCode(StringComparison.Ordinal); + } + } +}
\ No newline at end of file |
