namespace Binge.Bits
{
	using System;
	using System.Collections;
	using System.IO;
	using System.Xml;

	public class EnumItem: Binge.Bits.Object
	{
		public string NativeName, TargetName;
		public string NativeValue, TargetValue;

		public EnumItem (): this (true) {}

		public EnumItem (bool init)
		{
			if (! init) return;

			NativeName = TargetName =
			NativeValue = TargetValue = String.Empty;
		}

		public override string ToString ()
		{
			return "EnumItem";
		}
	}

	public class Enum: Binge.Bits.Object
	{
		public Class Parent;
		public ArrayList Attributes;
		public MemberAccess Access;
		public string NativeName, TargetName;
		public ArrayList Items;
		public bool Unsigned, Throttle;

		public Enum (): this (true) {}

		public Enum (bool init)
		{
			if (! init) return;

			Parent = null;
			Attributes = new ArrayList ();
			Access = MemberAccess.Default;
			NativeName = TargetName = String.Empty;
			Unsigned = false;
			Items = new ArrayList ();
 			Throttle = false;
		}

		public override string ToString ()
		{
			return "Enumeration";
		}
	}
}
