summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.Web/Clients/AuthenticationClientCollection.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/DotNetOpenAuth.Web/Clients/AuthenticationClientCollection.cs')
-rw-r--r--src/DotNetOpenAuth.Web/Clients/AuthenticationClientCollection.cs21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/DotNetOpenAuth.Web/Clients/AuthenticationClientCollection.cs b/src/DotNetOpenAuth.Web/Clients/AuthenticationClientCollection.cs
new file mode 100644
index 0000000..8f730e1
--- /dev/null
+++ b/src/DotNetOpenAuth.Web/Clients/AuthenticationClientCollection.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.ObjectModel;
+
+namespace DotNetOpenAuth.Web.Clients
+{
+ /// <summary>
+ /// A collection to store instances of IAuthenticationClient by keying off ProviderName.
+ /// </summary>
+ internal sealed class AuthenticationClientCollection : KeyedCollection<string, IAuthenticationClient>
+ {
+ public AuthenticationClientCollection()
+ : base(StringComparer.OrdinalIgnoreCase)
+ {
+ }
+
+ protected override string GetKeyForItem(IAuthenticationClient item)
+ {
+ return item.ProviderName;
+ }
+ }
+}