aboutsummaryrefslogtreecommitdiff
path: root/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/AbstractMap.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/AbstractMap.cs')
-rw-r--r--Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/AbstractMap.cs297
1 files changed, 142 insertions, 155 deletions
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/AbstractMap.cs b/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/AbstractMap.cs
index 45e7e2144..2868a840a 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/AbstractMap.cs
+++ b/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/AbstractMap.cs
@@ -6,159 +6,146 @@ using System.Linq;
namespace SharpCifs.Util.Sharpen
{
public abstract class AbstractMap<T, TU> : IDictionary<T, TU>
- {
- public virtual void Clear()
- {
- EntrySet().Clear();
- }
-
- public virtual bool ContainsKey(object name)
- {
- return EntrySet().Any(p => p.Key.Equals((T)name));
- }
-
- public abstract ICollection<KeyValuePair<T, TU>> EntrySet();
-
- public virtual TU Get(object key)
- {
- return EntrySet().Where(p => p.Key.Equals(key)).Select(p => p.Value).FirstOrDefault();
- }
-
- protected virtual IEnumerator<KeyValuePair<T, TU>> InternalGetEnumerator()
- {
- return EntrySet().GetEnumerator();
- }
-
- public virtual bool IsEmpty()
- {
- return !EntrySet().Any();
- }
-
- public virtual TU Put(T key, TU value)
- {
- throw new NotSupportedException();
- }
-
- public virtual TU Remove(object key)
- {
- Iterator<TU> iterator = EntrySet() as Iterator<TU>;
- if (iterator == null)
- {
- throw new NotSupportedException();
- }
- while (iterator.HasNext())
- {
- TU local = iterator.Next();
- if (local.Equals((T)key))
- {
- iterator.Remove();
- return local;
- }
- }
- return default(TU);
- }
-
- void ICollection<KeyValuePair<T, TU>>.Add(KeyValuePair<T, TU> item)
- {
- Put(item.Key, item.Value);
- }
-
- bool ICollection<KeyValuePair<T, TU>>.Contains(KeyValuePair<T, TU> item)
- {
- throw new NotImplementedException();
- }
-
- void ICollection<KeyValuePair<T, TU>>.CopyTo(KeyValuePair<T, TU>[] array, int arrayIndex)
- {
- EntrySet().CopyTo(array, arrayIndex);
- }
-
- bool ICollection<KeyValuePair<T, TU>>.Remove(KeyValuePair<T, TU> item)
- {
- Remove(item.Key);
- return true;
- }
-
- void IDictionary<T, TU>.Add(T key, TU value)
- {
- Put(key, value);
- }
-
- bool IDictionary<T, TU>.ContainsKey(T key)
- {
- return ContainsKey(key);
- }
-
- bool IDictionary<T, TU>.Remove(T key)
- {
- if (ContainsKey(key))
- {
- Remove(key);
- return true;
- }
- return false;
- }
-
- bool IDictionary<T, TU>.TryGetValue(T key, out TU value)
- {
- if (ContainsKey(key))
- {
- value = Get(key);
- return true;
- }
- value = default(TU);
- return false;
- }
-
- IEnumerator<KeyValuePair<T, TU>> IEnumerable<KeyValuePair<T, TU>>.GetEnumerator()
- {
- return InternalGetEnumerator();
- }
-
- IEnumerator IEnumerable.GetEnumerator()
- {
- return InternalGetEnumerator();
- }
-
- public virtual int Count
- {
- get { return EntrySet().Count; }
- }
-
- public TU this[T key]
- {
- get { return Get(key); }
- set { Put(key, value); }
- }
-
- public virtual IEnumerable<T> Keys
- {
- get { return EntrySet().Select(p => p.Key); }
- }
-
- int ICollection<KeyValuePair<T, TU>>.Count
- {
- get { return Count; }
- }
-
- bool ICollection<KeyValuePair<T, TU>>.IsReadOnly
- {
- get { return false; }
- }
-
- ICollection<T> IDictionary<T, TU>.Keys
- {
- get { return Keys.ToList(); }
- }
-
- ICollection<TU> IDictionary<T, TU>.Values
- {
- get { return Values.ToList(); }
- }
-
- public virtual IEnumerable<TU> Values
- {
- get { return EntrySet().Select(p => p.Value); }
- }
- }
+ {
+ public virtual void Clear ()
+ {
+ EntrySet ().Clear ();
+ }
+
+ public virtual bool ContainsKey (object name)
+ {
+ return EntrySet ().Any (p => p.Key.Equals ((T)name));
+ }
+
+ public abstract ICollection<KeyValuePair<T, TU>> EntrySet ();
+
+ public virtual TU Get (object key)
+ {
+ return EntrySet ().Where (p => p.Key.Equals (key)).Select (p => p.Value).FirstOrDefault ();
+ }
+
+ protected virtual IEnumerator<KeyValuePair<T, TU>> InternalGetEnumerator ()
+ {
+ return EntrySet ().GetEnumerator ();
+ }
+
+ public virtual bool IsEmpty ()
+ {
+ return !EntrySet ().Any ();
+ }
+
+ public virtual TU Put (T key, TU value)
+ {
+ throw new NotSupportedException ();
+ }
+
+ public virtual TU Remove (object key)
+ {
+ Iterator<TU> iterator = EntrySet () as Iterator<TU>;
+ if (iterator == null) {
+ throw new NotSupportedException ();
+ }
+ while (iterator.HasNext ()) {
+ TU local = iterator.Next ();
+ if (local.Equals ((T)key)) {
+ iterator.Remove ();
+ return local;
+ }
+ }
+ return default(TU);
+ }
+
+ void ICollection<KeyValuePair<T, TU>>.Add (KeyValuePair<T, TU> item)
+ {
+ Put (item.Key, item.Value);
+ }
+
+ bool ICollection<KeyValuePair<T, TU>>.Contains (KeyValuePair<T, TU> item)
+ {
+ throw new NotImplementedException ();
+ }
+
+ void ICollection<KeyValuePair<T, TU>>.CopyTo (KeyValuePair<T, TU>[] array, int arrayIndex)
+ {
+ EntrySet ().CopyTo (array, arrayIndex);
+ }
+
+ bool ICollection<KeyValuePair<T, TU>>.Remove (KeyValuePair<T, TU> item)
+ {
+ Remove (item.Key);
+ return true;
+ }
+
+ void IDictionary<T, TU>.Add (T key, TU value)
+ {
+ Put (key, value);
+ }
+
+ bool IDictionary<T, TU>.ContainsKey (T key)
+ {
+ return ContainsKey (key);
+ }
+
+ bool IDictionary<T, TU>.Remove (T key)
+ {
+ if (ContainsKey (key)) {
+ Remove (key);
+ return true;
+ }
+ return false;
+ }
+
+ bool IDictionary<T, TU>.TryGetValue (T key, out TU value)
+ {
+ if (ContainsKey (key)) {
+ value = Get (key);
+ return true;
+ }
+ value = default(TU);
+ return false;
+ }
+
+ IEnumerator<KeyValuePair<T, TU>> IEnumerable<KeyValuePair<T, TU>>.GetEnumerator ()
+ {
+ return InternalGetEnumerator ();
+ }
+
+ IEnumerator IEnumerable.GetEnumerator ()
+ {
+ return InternalGetEnumerator ();
+ }
+
+ public virtual int Count {
+ get { return EntrySet ().Count; }
+ }
+
+ public TU this[T key] {
+ get { return Get (key); }
+ set { Put (key, value); }
+ }
+
+ public virtual IEnumerable<T> Keys {
+ get { return EntrySet ().Select (p => p.Key); }
+ }
+
+ int ICollection<KeyValuePair<T, TU>>.Count {
+ get { return Count; }
+ }
+
+ bool ICollection<KeyValuePair<T, TU>>.IsReadOnly {
+ get { return false; }
+ }
+
+ ICollection<T> IDictionary<T, TU>.Keys {
+ get { return Keys.ToList (); }
+ }
+
+ ICollection<TU> IDictionary<T, TU>.Values {
+ get { return Values.ToList (); }
+ }
+
+ public virtual IEnumerable<TU> Values {
+ get { return EntrySet ().Select (p => p.Value); }
+ }
+ }
}