summaryrefslogtreecommitdiff
path: root/Debug.cs
blob: 0bec821e57788d7a14b77671d6db5bc7b9090011 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// Noddybox.Net - Provides simple server interaction classes
// Copyright (C) 2003  Ian Cowburn
// 
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
// 
// This program 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 General Public License for more details.
// 
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
//
// $Id$
//
namespace Noddybox.Net
{
	using System;
	
	
	/// <summary>
	/// Simple debugging class
	/// </summary>
	/// <remarks>
	/// 	created by - ianc
	/// 	created on - 06/09/2003 00:31:08
	/// </remarks>
	public class Debug
	{
		/// <summary>
		/// Function to recieve debug output if requested
		/// </summary>
		public delegate void DebugEvent(string debug);
		
		/// <summary>
		/// Enable/Disable debug console output
		/// </summary>
		public static bool Enable
		{
			get {return m_debug;}
			set {m_debug=value;}
		}
		
		/// <summary>
		/// Event to capure debug
		/// </summary>
		public static event DebugEvent	m_event;
		
		/// <summary>
		/// Output debug text
		/// </summary>
		public static void Out(System.Object o, string s)
		{
			string debug="DEBUG: " + o.ToString() + ": " +s;

			if (m_debug)
			{
				Console.WriteLine(debug);
			}
			
			if (m_event!=null)
			{
				m_event(s);
			}
		}

		static private bool	m_debug=false;
		
		private Debug()
		{
		}
	}
}