//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QSqlRecord")]
    public class QSqlRecord : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QSqlRecord(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QSqlRecord), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QSqlRecord() {
            staticInterceptor = new SmokeInvocation(typeof(QSqlRecord), null);
        }
        public QSqlRecord() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QSqlRecord", "QSqlRecord()", typeof(void));
        }
        public QSqlRecord(QSqlRecord other) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QSqlRecord#", "QSqlRecord(const QSqlRecord&)", typeof(void), typeof(QSqlRecord), other);
        }
        public override bool Equals(object o) {
            if (!(o is QSqlRecord)) { return false; }
            return this == (QSqlRecord) o;
        }
        public override int GetHashCode() {
            return interceptor.GetHashCode();
        }
        public QVariant Value(int i) {
            return (QVariant) interceptor.Invoke("value$", "value(int) const", typeof(QVariant), typeof(int), i);
        }
        public QVariant Value(string name) {
            return (QVariant) interceptor.Invoke("value$", "value(const QString&) const", typeof(QVariant), typeof(string), name);
        }
        public void SetValue(int i, QVariant val) {
            interceptor.Invoke("setValue$#", "setValue(int, const QVariant&)", typeof(void), typeof(int), i, typeof(QVariant), val);
        }
        public void SetValue(string name, QVariant val) {
            interceptor.Invoke("setValue$#", "setValue(const QString&, const QVariant&)", typeof(void), typeof(string), name, typeof(QVariant), val);
        }
        public void SetNull(int i) {
            interceptor.Invoke("setNull$", "setNull(int)", typeof(void), typeof(int), i);
        }
        public void SetNull(string name) {
            interceptor.Invoke("setNull$", "setNull(const QString&)", typeof(void), typeof(string), name);
        }
        public bool IsNull(int i) {
            return (bool) interceptor.Invoke("isNull$", "isNull(int) const", typeof(bool), typeof(int), i);
        }
        public bool IsNull(string name) {
            return (bool) interceptor.Invoke("isNull$", "isNull(const QString&) const", typeof(bool), typeof(string), name);
        }
        public int IndexOf(string name) {
            return (int) interceptor.Invoke("indexOf$", "indexOf(const QString&) const", typeof(int), typeof(string), name);
        }
        public string FieldName(int i) {
            return (string) interceptor.Invoke("fieldName$", "fieldName(int) const", typeof(string), typeof(int), i);
        }
        public QSqlField Field(int i) {
            return (QSqlField) interceptor.Invoke("field$", "field(int) const", typeof(QSqlField), typeof(int), i);
        }
        public QSqlField Field(string name) {
            return (QSqlField) interceptor.Invoke("field$", "field(const QString&) const", typeof(QSqlField), typeof(string), name);
        }
        public bool IsGenerated(int i) {
            return (bool) interceptor.Invoke("isGenerated$", "isGenerated(int) const", typeof(bool), typeof(int), i);
        }
        public bool IsGenerated(string name) {
            return (bool) interceptor.Invoke("isGenerated$", "isGenerated(const QString&) const", typeof(bool), typeof(string), name);
        }
        public void SetGenerated(string name, bool generated) {
            interceptor.Invoke("setGenerated$$", "setGenerated(const QString&, bool)", typeof(void), typeof(string), name, typeof(bool), generated);
        }
        public void SetGenerated(int i, bool generated) {
            interceptor.Invoke("setGenerated$$", "setGenerated(int, bool)", typeof(void), typeof(int), i, typeof(bool), generated);
        }
        public void Append(QSqlField field) {
            interceptor.Invoke("append#", "append(const QSqlField&)", typeof(void), typeof(QSqlField), field);
        }
        public void Replace(int pos, QSqlField field) {
            interceptor.Invoke("replace$#", "replace(int, const QSqlField&)", typeof(void), typeof(int), pos, typeof(QSqlField), field);
        }
        public void Insert(int pos, QSqlField field) {
            interceptor.Invoke("insert$#", "insert(int, const QSqlField&)", typeof(void), typeof(int), pos, typeof(QSqlField), field);
        }
        public void Remove(int pos) {
            interceptor.Invoke("remove$", "remove(int)", typeof(void), typeof(int), pos);
        }
        public bool IsEmpty() {
            return (bool) interceptor.Invoke("isEmpty", "isEmpty() const", typeof(bool));
        }
        public bool Contains(string name) {
            return (bool) interceptor.Invoke("contains$", "contains(const QString&) const", typeof(bool), typeof(string), name);
        }
        public void Clear() {
            interceptor.Invoke("clear", "clear()", typeof(void));
        }
        public void ClearValues() {
            interceptor.Invoke("clearValues", "clearValues()", typeof(void));
        }
        public int Count() {
            return (int) interceptor.Invoke("count", "count() const", typeof(int));
        }
        ~QSqlRecord() {
            interceptor.Invoke("~QSqlRecord", "~QSqlRecord()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QSqlRecord", "~QSqlRecord()", typeof(void));
        }
        public static bool operator==(QSqlRecord lhs, QSqlRecord other) {
            return (bool) staticInterceptor.Invoke("operator==#", "operator==(const QSqlRecord&) const", typeof(bool), typeof(QSqlRecord), lhs, typeof(QSqlRecord), other);
        }
        public static bool operator!=(QSqlRecord lhs, QSqlRecord other) {
            return !(bool) staticInterceptor.Invoke("operator==#", "operator==(const QSqlRecord&) const", typeof(bool), typeof(QSqlRecord), lhs, typeof(QSqlRecord), other);
        }
    }
}
