view Constants.cs @ 90:1575d57a8423

Re #12: Document classes and methods * Document Arrays class and methods
author IBBoard <dev@ibboard.co.uk>
date Sat, 21 Aug 2010 18:34:31 +0000
parents cc7fae81afec
children 0f88d32b22cc
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 exe = Environment.GetCommandLineArgs()[0];
            int slash = exe.LastIndexOf(DirectoryChar) + 1;
            int dot = exe.LastIndexOf('.');

            if (dot > slash)
            {
                exe = exe.Substring(slash, dot - slash);
            }
            else
            {
                exe = exe.Substring(slash);
            }

            userDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData).TrimEnd(DirectoryChar) + DirectoryChar + "IBBoard" + DirectoryChar + exe;
		}

		public static string ExecutablePath
		{
			get { return executablePath; }
		}
		
		private static string userDataPath;
		
		public static string UserDataPath
		{
			get { return userDataPath; }
		}
		
		/*public static void RecreateUserDataPath(string path)
		{
			if (path!=null && path!="")
			{
				userDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)+DirectoryChar+path.Trim(DirectoryChar);
			}
		}*/
	}
}