//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QSqlRelation")]
    public class QSqlRelation : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QSqlRelation(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QSqlRelation), this);
        }
        public QSqlRelation() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QSqlRelation", "QSqlRelation()", typeof(void));
        }
        public QSqlRelation(string aTableName, string indexCol, string displayCol) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QSqlRelation$$$", "QSqlRelation(const QString&, const QString&, const QString&)", typeof(void), typeof(string), aTableName, typeof(string), indexCol, typeof(string), displayCol);
        }
        public string TableName() {
            return (string) interceptor.Invoke("tableName", "tableName() const", typeof(string));
        }
        public string IndexColumn() {
            return (string) interceptor.Invoke("indexColumn", "indexColumn() const", typeof(string));
        }
        public string DisplayColumn() {
            return (string) interceptor.Invoke("displayColumn", "displayColumn() const", typeof(string));
        }
        public bool IsValid() {
            return (bool) interceptor.Invoke("isValid", "isValid() const", typeof(bool));
        }
        ~QSqlRelation() {
            interceptor.Invoke("~QSqlRelation", "~QSqlRelation()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QSqlRelation", "~QSqlRelation()", typeof(void));
        }
    }
}
