//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    using System.Collections.Generic;
    [SmokeClass("QSqlQuery")]
    public class QSqlQuery : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QSqlQuery(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QSqlQuery), this);
        }
        public enum BatchExecutionMode {
            ValuesAsRows = 0,
            ValuesAsColumns = 1,
        }
        public QSqlQuery(QSqlResult r) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QSqlQuery#", "QSqlQuery(QSqlResult*)", typeof(void), typeof(QSqlResult), r);
        }
        public QSqlQuery(string query, QSqlDatabase db) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QSqlQuery$#", "QSqlQuery(const QString&, QSqlDatabase)", typeof(void), typeof(string), query, typeof(QSqlDatabase), db);
        }
        public QSqlQuery(string query) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QSqlQuery$", "QSqlQuery(const QString&)", typeof(void), typeof(string), query);
        }
        public QSqlQuery() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QSqlQuery", "QSqlQuery()", typeof(void));
        }
        public QSqlQuery(QSqlDatabase db) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QSqlQuery#", "QSqlQuery(QSqlDatabase)", typeof(void), typeof(QSqlDatabase), db);
        }
        public QSqlQuery(QSqlQuery other) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QSqlQuery#", "QSqlQuery(const QSqlQuery&)", typeof(void), typeof(QSqlQuery), other);
        }
        public bool IsValid() {
            return (bool) interceptor.Invoke("isValid", "isValid() const", typeof(bool));
        }
        public bool IsActive() {
            return (bool) interceptor.Invoke("isActive", "isActive() const", typeof(bool));
        }
        public bool IsNull(int field) {
            return (bool) interceptor.Invoke("isNull$", "isNull(int) const", typeof(bool), typeof(int), field);
        }
        public int At() {
            return (int) interceptor.Invoke("at", "at() const", typeof(int));
        }
        public string LastQuery() {
            return (string) interceptor.Invoke("lastQuery", "lastQuery() const", typeof(string));
        }
        public int NumRowsAffected() {
            return (int) interceptor.Invoke("numRowsAffected", "numRowsAffected() const", typeof(int));
        }
        public QSqlError LastError() {
            return (QSqlError) interceptor.Invoke("lastError", "lastError() const", typeof(QSqlError));
        }
        public bool IsSelect() {
            return (bool) interceptor.Invoke("isSelect", "isSelect() const", typeof(bool));
        }
        public int Size() {
            return (int) interceptor.Invoke("size", "size() const", typeof(int));
        }
        public QSqlDriver Driver() {
            return (QSqlDriver) interceptor.Invoke("driver", "driver() const", typeof(QSqlDriver));
        }
        public QSqlResult Result() {
            return (QSqlResult) interceptor.Invoke("result", "result() const", typeof(QSqlResult));
        }
        public bool IsForwardOnly() {
            return (bool) interceptor.Invoke("isForwardOnly", "isForwardOnly() const", typeof(bool));
        }
        public QSqlRecord Record() {
            return (QSqlRecord) interceptor.Invoke("record", "record() const", typeof(QSqlRecord));
        }
        public void SetForwardOnly(bool forward) {
            interceptor.Invoke("setForwardOnly$", "setForwardOnly(bool)", typeof(void), typeof(bool), forward);
        }
        public bool Exec(string query) {
            return (bool) interceptor.Invoke("exec$", "exec(const QString&)", typeof(bool), typeof(string), query);
        }
        public QVariant Value(int i) {
            return (QVariant) interceptor.Invoke("value$", "value(int) const", typeof(QVariant), typeof(int), i);
        }
        public void SetNumericalPrecisionPolicy(QSql.NumericalPrecisionPolicy precisionPolicy) {
            interceptor.Invoke("setNumericalPrecisionPolicy$", "setNumericalPrecisionPolicy(QSql::NumericalPrecisionPolicy)", typeof(void), typeof(QSql.NumericalPrecisionPolicy), precisionPolicy);
        }
        public QSql.NumericalPrecisionPolicy NumericalPrecisionPolicy() {
            return (QSql.NumericalPrecisionPolicy) interceptor.Invoke("numericalPrecisionPolicy", "numericalPrecisionPolicy() const", typeof(QSql.NumericalPrecisionPolicy));
        }
        public bool Seek(int i, bool relative) {
            return (bool) interceptor.Invoke("seek$$", "seek(int, bool)", typeof(bool), typeof(int), i, typeof(bool), relative);
        }
        public bool Seek(int i) {
            return (bool) interceptor.Invoke("seek$", "seek(int)", typeof(bool), typeof(int), i);
        }
        public bool Next() {
            return (bool) interceptor.Invoke("next", "next()", typeof(bool));
        }
        public bool Previous() {
            return (bool) interceptor.Invoke("previous", "previous()", typeof(bool));
        }
        public bool First() {
            return (bool) interceptor.Invoke("first", "first()", typeof(bool));
        }
        public bool Last() {
            return (bool) interceptor.Invoke("last", "last()", typeof(bool));
        }
        public void Clear() {
            interceptor.Invoke("clear", "clear()", typeof(void));
        }
        public bool Exec() {
            return (bool) interceptor.Invoke("exec", "exec()", typeof(bool));
        }
        public bool ExecBatch(QSqlQuery.BatchExecutionMode mode) {
            return (bool) interceptor.Invoke("execBatch$", "execBatch(QSqlQuery::BatchExecutionMode)", typeof(bool), typeof(QSqlQuery.BatchExecutionMode), mode);
        }
        public bool ExecBatch() {
            return (bool) interceptor.Invoke("execBatch", "execBatch()", typeof(bool));
        }
        public bool Prepare(string query) {
            return (bool) interceptor.Invoke("prepare$", "prepare(const QString&)", typeof(bool), typeof(string), query);
        }
        public void BindValue(string placeholder, QVariant val, uint type) {
            interceptor.Invoke("bindValue$#$", "bindValue(const QString&, const QVariant&, QSql::ParamType)", typeof(void), typeof(string), placeholder, typeof(QVariant), val, typeof(uint), type);
        }
        public void BindValue(string placeholder, QVariant val) {
            interceptor.Invoke("bindValue$#", "bindValue(const QString&, const QVariant&)", typeof(void), typeof(string), placeholder, typeof(QVariant), val);
        }
        public void BindValue(int pos, QVariant val, uint type) {
            interceptor.Invoke("bindValue$#$", "bindValue(int, const QVariant&, QSql::ParamType)", typeof(void), typeof(int), pos, typeof(QVariant), val, typeof(uint), type);
        }
        public void BindValue(int pos, QVariant val) {
            interceptor.Invoke("bindValue$#", "bindValue(int, const QVariant&)", typeof(void), typeof(int), pos, typeof(QVariant), val);
        }
        public void AddBindValue(QVariant val, uint type) {
            interceptor.Invoke("addBindValue#$", "addBindValue(const QVariant&, QSql::ParamType)", typeof(void), typeof(QVariant), val, typeof(uint), type);
        }
        public void AddBindValue(QVariant val) {
            interceptor.Invoke("addBindValue#", "addBindValue(const QVariant&)", typeof(void), typeof(QVariant), val);
        }
        public QVariant BoundValue(string placeholder) {
            return (QVariant) interceptor.Invoke("boundValue$", "boundValue(const QString&) const", typeof(QVariant), typeof(string), placeholder);
        }
        public QVariant BoundValue(int pos) {
            return (QVariant) interceptor.Invoke("boundValue$", "boundValue(int) const", typeof(QVariant), typeof(int), pos);
        }
        public Dictionary<string, QVariant> BoundValues() {
            return (Dictionary<string, QVariant>) interceptor.Invoke("boundValues", "boundValues() const", typeof(Dictionary<string, QVariant>));
        }
        public string ExecutedQuery() {
            return (string) interceptor.Invoke("executedQuery", "executedQuery() const", typeof(string));
        }
        public QVariant LastInsertId() {
            return (QVariant) interceptor.Invoke("lastInsertId", "lastInsertId() const", typeof(QVariant));
        }
        public void Finish() {
            interceptor.Invoke("finish", "finish()", typeof(void));
        }
        public bool NextResult() {
            return (bool) interceptor.Invoke("nextResult", "nextResult()", typeof(bool));
        }
        ~QSqlQuery() {
            interceptor.Invoke("~QSqlQuery", "~QSqlQuery()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QSqlQuery", "~QSqlQuery()", typeof(void));
        }
    }
}
