//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {

	using System;

	[SmokeClass("QXmlStreamAttribute")]
	public class QXmlStreamAttribute : Object, IDisposable {
		protected SmokeInvocation interceptor = null;
		private IntPtr smokeObject;
		protected QXmlStreamAttribute(Type dummy) {}
		protected void CreateProxy() {
			interceptor = new SmokeInvocation(typeof(QXmlStreamAttribute), this);
		}
		private static SmokeInvocation staticInterceptor = null;
		static QXmlStreamAttribute() {
			staticInterceptor = new SmokeInvocation(typeof(QXmlStreamAttribute), null);
		}
		public QXmlStreamAttribute() : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("QXmlStreamAttribute", "QXmlStreamAttribute()", typeof(void));
		}
		public QXmlStreamAttribute(string qualifiedName, string value) : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("QXmlStreamAttribute$$", "QXmlStreamAttribute(const QString&, const QString&)", typeof(void), typeof(string), qualifiedName, typeof(string), value);
		}
		public QXmlStreamAttribute(string namespaceUri, string name, string value) : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("QXmlStreamAttribute$$$", "QXmlStreamAttribute(const QString&, const QString&, const QString&)", typeof(void), typeof(string), namespaceUri, typeof(string), name, typeof(string), value);
		}
		public QXmlStreamAttribute(QXmlStreamAttribute arg1) : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("QXmlStreamAttribute#", "QXmlStreamAttribute(const QXmlStreamAttribute&)", typeof(void), typeof(QXmlStreamAttribute), arg1);
		}
		public string NamespaceUri() {
			return (string) interceptor.Invoke("namespaceUri", "namespaceUri() const", typeof(string));
		}
		public string Name() {
			return (string) interceptor.Invoke("name", "name() const", typeof(string));
		}
		public string QualifiedName() {
			return (string) interceptor.Invoke("qualifiedName", "qualifiedName() const", typeof(string));
		}
		public string Value() {
			return (string) interceptor.Invoke("value", "value() const", typeof(string));
		}
		public bool IsDefault() {
			return (bool) interceptor.Invoke("isDefault", "isDefault() const", typeof(bool));
		}
		public override bool Equals(object o) {
			if (!(o is QXmlStreamAttribute)) { return false; }
			return this == (QXmlStreamAttribute) o;
		}
		public override int GetHashCode() {
			return interceptor.GetHashCode();
		}
		~QXmlStreamAttribute() {
			interceptor.Invoke("~QXmlStreamAttribute", "~QXmlStreamAttribute()", typeof(void));
		}
		public void Dispose() {
			interceptor.Invoke("~QXmlStreamAttribute", "~QXmlStreamAttribute()", typeof(void));
		}
		public static bool operator==(QXmlStreamAttribute lhs, QXmlStreamAttribute other) {
			return (bool) staticInterceptor.Invoke("operator==#", "operator==(const QXmlStreamAttribute&) const", typeof(bool), typeof(QXmlStreamAttribute), lhs, typeof(QXmlStreamAttribute), other);
		}
		public static bool operator!=(QXmlStreamAttribute lhs, QXmlStreamAttribute other) {
			return !(bool) staticInterceptor.Invoke("operator==#", "operator==(const QXmlStreamAttribute&) const", typeof(bool), typeof(QXmlStreamAttribute), lhs, typeof(QXmlStreamAttribute), other);
		}
	}
}
