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

	using System;

	[SmokeClass("QXmlStreamNotationDeclaration")]
	public class QXmlStreamNotationDeclaration : Object, IDisposable {
		protected SmokeInvocation interceptor = null;
		private IntPtr smokeObject;
		protected QXmlStreamNotationDeclaration(Type dummy) {}
		protected void CreateProxy() {
			interceptor = new SmokeInvocation(typeof(QXmlStreamNotationDeclaration), this);
		}
		private static SmokeInvocation staticInterceptor = null;
		static QXmlStreamNotationDeclaration() {
			staticInterceptor = new SmokeInvocation(typeof(QXmlStreamNotationDeclaration), null);
		}
		public QXmlStreamNotationDeclaration() : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("QXmlStreamNotationDeclaration", "QXmlStreamNotationDeclaration()", typeof(void));
		}
		public QXmlStreamNotationDeclaration(QXmlStreamNotationDeclaration arg1) : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("QXmlStreamNotationDeclaration#", "QXmlStreamNotationDeclaration(const QXmlStreamNotationDeclaration&)", typeof(void), typeof(QXmlStreamNotationDeclaration), arg1);
		}
		public string Name() {
			return (string) interceptor.Invoke("name", "name() const", typeof(string));
		}
		public string SystemId() {
			return (string) interceptor.Invoke("systemId", "systemId() const", typeof(string));
		}
		public string PublicId() {
			return (string) interceptor.Invoke("publicId", "publicId() const", typeof(string));
		}
		public override bool Equals(object o) {
			if (!(o is QXmlStreamNotationDeclaration)) { return false; }
			return this == (QXmlStreamNotationDeclaration) o;
		}
		public override int GetHashCode() {
			return interceptor.GetHashCode();
		}
		~QXmlStreamNotationDeclaration() {
			interceptor.Invoke("~QXmlStreamNotationDeclaration", "~QXmlStreamNotationDeclaration()", typeof(void));
		}
		public void Dispose() {
			interceptor.Invoke("~QXmlStreamNotationDeclaration", "~QXmlStreamNotationDeclaration()", typeof(void));
		}
		public static bool operator==(QXmlStreamNotationDeclaration lhs, QXmlStreamNotationDeclaration other) {
			return (bool) staticInterceptor.Invoke("operator==#", "operator==(const QXmlStreamNotationDeclaration&) const", typeof(bool), typeof(QXmlStreamNotationDeclaration), lhs, typeof(QXmlStreamNotationDeclaration), other);
		}
		public static bool operator!=(QXmlStreamNotationDeclaration lhs, QXmlStreamNotationDeclaration other) {
			return !(bool) staticInterceptor.Invoke("operator==#", "operator==(const QXmlStreamNotationDeclaration&) const", typeof(bool), typeof(QXmlStreamNotationDeclaration), lhs, typeof(QXmlStreamNotationDeclaration), other);
		}
	}
}
