/***********************************************************************
 * 
 *  Copyright (C) 2006 Novell, Inc. All Rights Reserved.
 *
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU Lesser General Public
 *  License as published by the Free Software Foundation; version 2.1
 *  of the License.
 *
 *  This library is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *  Library Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public
 *  License along with this library; if not, Novell, Inc.
 * 
 *  To contact Novell about this file by physical or electronic mail, 
 *  you may find current contact information at www.novell.com.
 * 
 *  Author: Jim Norman
 *
 ***********************************************************************/
 
using System;
using Novell.Casa.Client.Auth;

namespace TestClientAuth
{
	/// <summary>
	/// Summary description for Class1.
	/// </summary>
	class Class1
	{
		/// <summary>
		/// The main entry point for the application.
		/// </summary>
		[STAThread]
		static void Main(string[] args)
		{
			if (args.Length < 1)
			{
				Console.WriteLine("Usage: TestClientAuth [server]");
				Console.WriteLine("Press enter to continue");
				Console.ReadLine();
				return;
			}

			try
			{

				//WinLuid luid = new WinLuid(1234, 5678);
				Authtoken.ObtainAuthToken("testService", args[0]);

				byte[] baToken = Authtoken.ObtainAuthToken("testService", args[0]);
				Console.WriteLine("Token returned: ("+ baToken.Length + ")");
				for (int i=0; i<baToken.Length; i++)
				{
					Console.Write(baToken[i].ToString());
				}
				Console.WriteLine("");
				Console.WriteLine("Press enter to continue");
				Console.ReadLine();

                // Cleanup the AuthTokenCache
                Console.WriteLine("Cleaning the cache");
                Authtoken.CleanUpAuthTokenCache();
                Console.WriteLine("Done cleaning the cache");
			}
			catch (Exception e)
			{
				Console.WriteLine(e.ToString());
				Console.WriteLine("");
				Console.WriteLine("Press enter to continue");
				Console.ReadLine();
			}			
		}
	}
}