Merge pull request #3913 from omwok/master
[mono.git] / mcs / class / System / Mono.Net.Security / MonoTlsProviderFactory.Droid.cs
1 // Copyright 2015 Xamarin Inc. All rights reserved.
2 #if SECURITY_DEP
3 using System;
4 using MSI = Mono.Security.Interface;
5 #if MONO_FEATURE_BTLS
6 using Mono.Btls;
7 #endif
8
9 namespace Mono.Net.Security
10 {
11         static partial class MonoTlsProviderFactory
12         {
13                 static MSI.MonoTlsProvider CreateDefaultProviderImpl ()
14                 {
15                         MSI.MonoTlsProvider provider = null;
16                         var type = Environment.GetEnvironmentVariable ("XA_TLS_PROVIDER");
17                         switch (type) {
18                         case null:
19                         case "default":
20                         case "legacy":
21                                 return new LegacyTlsProvider ();
22 #if MONO_FEATURE_BTLS
23                         case "btls":
24                                 if (!IsBtlsSupported ())
25                                         throw new NotSupportedException ("BTLS in not supported!");
26                                 return new MonoBtlsProvider ();
27 #endif
28                         default:
29                                 throw new NotSupportedException (string.Format ("Invalid TLS Provider: `{0}'.", provider));
30                         }
31                 }
32         }
33 }
34 #endif