//
// Copyright (c) 2002
// Ronald Kevin Burton
//
// Z poniższym kodem nie jest związana żadna gwarancja poprawności działania.
// Program został dołączony do książki ".NET CLR. Księga eksperta" w celu
// ilustracji koncepcji i zasad przedstawionych w tej książce. Program może być 
// używany na własne ryzyko.
//
// Przyznaje się prawo do użycia lub kopiowania tego oprogramowania do dowolnego celu
// bez konieczności ponoszenia żadnych opłat pod warunkiem, że powyższe uwagi zostaną 
// zachowane we wszystkich kopiach. Przyznaje się także prawo do modyfikacji kodu
// i dystrybucji zmodyfikowanego kodu pod warunkiem zachowania powyższych uwag
// oraz dołączenia informacji mówiącej o modyfikacji kodu.
//
// 
using System;
using System.IO;
using System.Runtime.Remoting;

using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Http;

namespace CLRUnleashed.Remoting
{
	/// <summary>
	/// Podsumowanie dla TimeServer.
	/// </summary>
	class TimeServer
	{
		/// <summary>
		/// Główny punkt wejścia dla aplikacji.
		/// </summary>
		[STAThread]
		static void Main(string[] args)
		{
			string configfile = "timeserver.exe.config";

			if(args.Length != 0)
				configfile = args[0];

			if(!Initialize(configfile))
				return;

			String keyState = "";
			Console.WriteLine("Wciśnij <cr>, aby wyjść");
			keyState = Console.ReadLine();

		}
		static bool Initialize(string configfile)
		{
			if(!File.Exists(configfile))
			{
				configfile = @"..\..\" + configfile;
				if(!File.Exists(configfile))
					return false;
			}
			RemotingConfiguration.Configure(configfile);
			return true;
		}
	}
}
