//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QScriptString")]
    public class QScriptString : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QScriptString(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QScriptString), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QScriptString() {
            staticInterceptor = new SmokeInvocation(typeof(QScriptString), null);
        }
        //  operator QString(); >>>> NOT CONVERTED
        public QScriptString() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QScriptString", "QScriptString()", typeof(void));
        }
        public QScriptString(QScriptString other) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QScriptString#", "QScriptString(const QScriptString&)", typeof(void), typeof(QScriptString), other);
        }
        public bool IsValid() {
            return (bool) interceptor.Invoke("isValid", "isValid() const", typeof(bool));
        }
        public override bool Equals(object o) {
            if (!(o is QScriptString)) { return false; }
            return this == (QScriptString) o;
        }
        public override int GetHashCode() {
            return interceptor.GetHashCode();
        }
        public new string ToString() {
            return (string) interceptor.Invoke("toString", "toString() const", typeof(string));
        }
        ~QScriptString() {
            interceptor.Invoke("~QScriptString", "~QScriptString()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QScriptString", "~QScriptString()", typeof(void));
        }
        public static bool operator==(QScriptString lhs, QScriptString other) {
            return (bool) staticInterceptor.Invoke("operator==#", "operator==(const QScriptString&) const", typeof(bool), typeof(QScriptString), lhs, typeof(QScriptString), other);
        }
        public static bool operator!=(QScriptString lhs, QScriptString other) {
            return !(bool) staticInterceptor.Invoke("operator==#", "operator==(const QScriptString&) const", typeof(bool), typeof(QScriptString), lhs, typeof(QScriptString), other);
        }
    }
}
