using System;
using System.Collections.Generic;
using System.IO;
using System.Windows.Interop;
using Artemis.Core.Plugins.Models;
namespace Artemis.Core
{
public static class Constants
{
///
/// The full path to the Artemis application folder
///
public static readonly string ApplicationFolder = Path.GetDirectoryName(typeof(Constants).Assembly.Location);
///
/// The full path to the Artemis data folder
///
public static readonly string DataFolder = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\Artemis\\";
///
/// The connection string used to connect to the database
///
public static readonly string ConnectionString = $"FileName={DataFolder}\\database.db";
///
/// The plugin info used by core components of Artemis
///
public static readonly PluginInfo CorePluginInfo = new PluginInfo {Guid = Guid.Parse("ffffffff-ffff-ffff-ffff-ffffffffffff"), Name = "Artemis Core"};
///
/// A read-only collection containing all primitive numeric types
///
public static IReadOnlyCollection NumberTypes = new List
{
typeof(sbyte),
typeof(byte),
typeof(short),
typeof(ushort),
typeof(int),
typeof(uint),
typeof(long),
typeof(ulong),
typeof(float),
typeof(double),
typeof(decimal)
};
///
/// A read-only collection containing all primitive integral numeric types
///
public static IReadOnlyCollection IntegralNumberTypes = new List
{
typeof(sbyte),
typeof(byte),
typeof(short),
typeof(ushort),
typeof(int),
typeof(uint),
typeof(long),
typeof(ulong)
};
///
/// A read-only collection containing all primitive floating-point numeric types
///
public static IReadOnlyCollection FloatNumberTypes = new List
{
typeof(float),
typeof(double),
typeof(decimal)
};
public static IntPtr MainWindowHandle { get; internal set; }
}
}