summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Dettman <peter.dettman@bouncycastle.org>2015-11-08 18:40:10 +0700
committerPeter Dettman <peter.dettman@bouncycastle.org>2015-11-08 18:40:10 +0700
commitcebeeb6d6573e15fe4f1a834f77ead9e8556f570 (patch)
tree8b5bd79075ce8f4c95c1357777da3852201afc0c
parentSome more PORTABLE updates (diff)
downloadBouncyCastle.NET-ed25519-cebeeb6d6573e15fe4f1a834f77ead9e8556f570.tar.xz
A few more changes to sync up with BouncyCastle-PCL
-rw-r--r--crypto/crypto.csproj5
-rw-r--r--crypto/src/asn1/DerGeneralizedTime.cs4
-rw-r--r--crypto/src/asn1/DerUTCTime.cs4
-rw-r--r--crypto/src/asn1/x509/Time.cs4
-rw-r--r--crypto/src/util/Enums.cs10
-rw-r--r--crypto/src/util/Platform.cs2
-rw-r--r--crypto/src/util/TypeExtensions.cs17
-rw-r--r--crypto/test/src/util/test/SimpleTest.cs13
8 files changed, 51 insertions, 8 deletions
diff --git a/crypto/crypto.csproj b/crypto/crypto.csproj

index cdb48bfff..a1e217aca 100644 --- a/crypto/crypto.csproj +++ b/crypto/crypto.csproj
@@ -6769,6 +6769,11 @@ BuildAction = "Compile" /> <File + RelPath = "src\util\TypeExtensions.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "src\util\collections\CollectionUtilities.cs" SubType = "Code" BuildAction = "Compile" diff --git a/crypto/src/asn1/DerGeneralizedTime.cs b/crypto/src/asn1/DerGeneralizedTime.cs
index 152596678..17c42e7cf 100644 --- a/crypto/src/asn1/DerGeneralizedTime.cs +++ b/crypto/src/asn1/DerGeneralizedTime.cs
@@ -83,7 +83,11 @@ namespace Org.BouncyCastle.Asn1 public DerGeneralizedTime( DateTime time) { +#if PORTABLE + this.time = time.ToUniversalTime().ToString(@"yyyyMMddHHmmss\Z"); +#else this.time = time.ToString(@"yyyyMMddHHmmss\Z"); +#endif } internal DerGeneralizedTime( diff --git a/crypto/src/asn1/DerUTCTime.cs b/crypto/src/asn1/DerUTCTime.cs
index ab8ca792d..639a2d4f4 100644 --- a/crypto/src/asn1/DerUTCTime.cs +++ b/crypto/src/asn1/DerUTCTime.cs
@@ -86,7 +86,11 @@ namespace Org.BouncyCastle.Asn1 public DerUtcTime( DateTime time) { +#if PORTABLE + this.time = time.ToUniversalTime().ToString("yyMMddHHmmss", CultureInfo.InvariantCulture) + "Z"; +#else this.time = time.ToString("yyMMddHHmmss", CultureInfo.InvariantCulture) + "Z"; +#endif } internal DerUtcTime( diff --git a/crypto/src/asn1/x509/Time.cs b/crypto/src/asn1/x509/Time.cs
index 8350339bb..ffe293521 100644 --- a/crypto/src/asn1/x509/Time.cs +++ b/crypto/src/asn1/x509/Time.cs
@@ -34,7 +34,11 @@ namespace Org.BouncyCastle.Asn1.X509 public Time( DateTime date) { +#if PORTABLE + string d = date.ToUniversalTime().ToString("yyyyMMddHHmmss", CultureInfo.InvariantCulture) + "Z"; +#else string d = date.ToString("yyyyMMddHHmmss", CultureInfo.InvariantCulture) + "Z"; +#endif int year = int.Parse(d.Substring(0, 4)); diff --git a/crypto/src/util/Enums.cs b/crypto/src/util/Enums.cs
index 25b218667..660bbe73f 100644 --- a/crypto/src/util/Enums.cs +++ b/crypto/src/util/Enums.cs
@@ -14,7 +14,11 @@ namespace Org.BouncyCastle.Utilities { internal static Enum GetEnumValue(System.Type enumType, string s) { +#if NEW_REFLECTION + if (!enumType.GetTypeInfo().IsEnum) +#else if (!enumType.IsEnum) +#endif throw new ArgumentException("Not an enumeration type", "enumType"); // We only want to parse single named constants @@ -39,10 +43,14 @@ namespace Org.BouncyCastle.Utilities internal static Array GetEnumValues(System.Type enumType) { +#if NEW_REFLECTION + if (!enumType.GetTypeInfo().IsEnum) +#else if (!enumType.IsEnum) +#endif throw new ArgumentException("Not an enumeration type", "enumType"); -#if NETCF_1_0 || NETCF_2_0 || SILVERLIGHT || PORTABLE +#if NETCF_1_0 || NETCF_2_0 || SILVERLIGHT IList result = Platform.CreateArrayList(); FieldInfo[] fields = enumType.GetFields(BindingFlags.Static | BindingFlags.Public); foreach (FieldInfo field in fields) diff --git a/crypto/src/util/Platform.cs b/crypto/src/util/Platform.cs
index 82446b296..d4b18f182 100644 --- a/crypto/src/util/Platform.cs +++ b/crypto/src/util/Platform.cs
@@ -34,6 +34,8 @@ namespace Org.BouncyCastle.Utilities { #if SILVERLIGHT return String.Compare(a, b, StringComparison.InvariantCultureIgnoreCase); +#elif SYS_RUNTIME + return String.Compare(a, b, StringComparison.OrdinalIgnoreCase); #elif PORTABLE return String.Compare(a, b, CultureInfo.InvariantCulture, CompareOptions.IgnoreCase); #else diff --git a/crypto/src/util/TypeExtensions.cs b/crypto/src/util/TypeExtensions.cs new file mode 100644
index 000000000..203d0a605 --- /dev/null +++ b/crypto/src/util/TypeExtensions.cs
@@ -0,0 +1,17 @@ +#if NEW_REFLECTION + +using System; +using System.Reflection; + +namespace Org.BouncyCastle.Utilities +{ + internal static class TypeExtensions + { + public static bool IsInstanceOfType(this Type type, object instance) + { + return instance != null && type.GetTypeInfo().IsAssignableFrom(instance.GetType().GetTypeInfo()); + } + } +} + +#endif diff --git a/crypto/test/src/util/test/SimpleTest.cs b/crypto/test/src/util/test/SimpleTest.cs
index 84a7ce02b..1cf9aa16f 100644 --- a/crypto/test/src/util/test/SimpleTest.cs +++ b/crypto/test/src/util/test/SimpleTest.cs
@@ -115,11 +115,10 @@ namespace Org.BouncyCastle.Utilities.Test private static string GetFullName( string name) { -// TODO MonoDevelop/Visual Studio embedded resource ids still inconsistent -#if BC_BUILD_MONODEVELOP - return "test.data." + name; +#if PORTABLE + return "crypto.tests." + name; #else - return "crypto.test.data." + name; + return "crypto.test.data." + name; #endif } @@ -127,10 +126,10 @@ namespace Org.BouncyCastle.Utilities.Test string fullName) { // TODO MonoDevelop/Visual Studio embedded resource ids still inconsistent -#if BC_BUILD_MONODEVELOP - return fullName.Substring("test.data.".Length); +#if PORTABLE + return fullName.Substring("crypto.tests.".Length); #else - return fullName.Substring("crypto.test.data.".Length); + return fullName.Substring("crypto.test.data.".Length); #endif }