Files
SabreTools/SabreTools.Library/Data/Globals.cs

81 lines
1.4 KiB
C#
Raw Normal View History

2017-03-30 23:39:38 -07:00
using System;
using System.Reflection;
using System.Threading.Tasks;
2017-10-06 20:46:43 -07:00
using SabreTools.Library.Tools;
#if MONO
using System.IO;
#else
using Alphaleonis.Win32.Filesystem;
#endif
2017-05-04 02:41:11 -07:00
namespace SabreTools.Library.Data
{
public class Globals
{
#region Private implementations
private static Logger _logger = null;
private static int _maxDegreeOfParallelism = System.Environment.ProcessorCount;
2017-03-30 23:39:38 -07:00
private static string _exeName = new Uri(Assembly.GetExecutingAssembly().GetName().CodeBase).LocalPath;
private static string _exeDir = Path.GetDirectoryName(_exeName);
private static string _args = string.Join(" ", Environment.GetCommandLineArgs());
#endregion
#region Public accessors
public static Logger Logger
{
get
{
if (_logger == null)
{
_logger = new Logger();
}
return _logger;
}
set { _logger = value; }
}
2017-07-13 17:03:38 -07:00
public static int MaxThreads
{
2017-07-13 17:03:38 -07:00
get { return _maxDegreeOfParallelism; }
set { _maxDegreeOfParallelism = value; }
}
public static ParallelOptions ParallelOptions
{
get
{
return new ParallelOptions()
{
MaxDegreeOfParallelism = _maxDegreeOfParallelism
};
}
}
2017-03-30 23:39:38 -07:00
public static string ExeName
{
get
{
return _exeName;
}
}
public static string ExeDir
{
get
{
return _exeDir;
}
}
2017-03-30 23:39:38 -07:00
public static string CommandLineArgs
{
get
{
return _args;
}
}
#endregion
}
}