view Constants.cs @ 107:0f88d32b22cc

* Swap to built-in .Net methods (listed on http://www.ironshay.com/post/Use-NET-Built-in-Methods-to-Save-Time-and-Headaches.aspx) no-open-ticket
author IBBoard <dev@ibboard.co.uk>
date Sat, 13 Aug 2011 10:42:57 +0000
parents cc7fae81afec
children 27b6aa1e98e8
line wrap: on
line source

// This file (Constants.cs) is a part of the IBBoard library and is copyright 2009 IBBoard.
//
// The file and the library/program it is in are licensed under the GNU LGPL license, either version 3 of the License or (at your option) any later version. Please see COPYING.LGPL for more information and the full license.

using System;
using System.IO;

namespace IBBoard
{
	/// <summary>
	/// Summary description for Constants.
	/// </summary>
	public class Constants
	{
		public static readonly char DirectoryChar = Path.DirectorySeparatorChar;
		public static readonly string DirectoryString = Path.DirectorySeparatorChar.ToString();
		private static string executablePath = AppDomain.CurrentDomain.BaseDirectory.TrimEnd(DirectoryChar);

		static Constants()
		{
            string appDataDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
			string exe = Environment.GetCommandLineArgs()[0];
			exe = Path.GetFileNameWithoutExtension(exe);
            userDataPath = Path.Combine(Path.Combine(appDataDir, "IBBoard"), exe);
		}

		public static string ExecutablePath
		{
			get { return executablePath; }
		}
		
		private static string userDataPath;
		
		public static string UserDataPath
		{
			get { return userDataPath; }
		}
	}
}