using System;
using System.IO;
using System.Text;
namespace Org.BouncyCastle.Utilities{
internal sealed class Platform
{
private Platform()
{
}
#if NETCF_1_0
internal static Exception CreateNotImplementedException(
string message)
{
return new Exception("Not implemented: " + message);
}
internal static bool Equals(
object a,
object b)
{
return a == b || (a != null && b != null && a.Equals(b));
}
internal static string GetEnvironmentVariable(
string variable)
{
return null;
}
private static string GetNewLine()
{
MemoryStream buf = new MemoryStream();
StreamWriter w = new StreamWriter(buf, Encoding.ASCII);
w.WriteLine();
w.Close();
byte[] bs = buf.ToArray();
return Encoding.ASCII.GetString(bs, 0, bs.Length);
}
#else
internal static Exception CreateNotImplementedException(
string message)
{
return new NotImplementedException(message);
}
internal static string GetEnvironmentVariable(
string variable)
{
try
{
return Environment.GetEnvironmentVariable(variable);
}
catch (System.Security.SecurityException)
{
// We don't have the required permission to read this environment variable,
// which is fine, just act as if it's not set
return null;
}
}
private static string GetNewLine()
{
return Environment.NewLine;
}
#endif
internal static readonly string NewLine = GetNewLine();
}
}
|