//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QTime")]
    public class QTime : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QTime(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QTime), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QTime() {
            staticInterceptor = new SmokeInvocation(typeof(QTime), null);
        }
        public QTime() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QTime", "QTime()", typeof(void));
        }
        public QTime(int h, int m, int s, int ms) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QTime$$$$", "QTime(int, int, int, int)", typeof(void), typeof(int), h, typeof(int), m, typeof(int), s, typeof(int), ms);
        }
        public QTime(int h, int m, int s) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QTime$$$", "QTime(int, int, int)", typeof(void), typeof(int), h, typeof(int), m, typeof(int), s);
        }
        public QTime(int h, int m) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QTime$$", "QTime(int, int)", typeof(void), typeof(int), h, typeof(int), m);
        }
        public bool IsNull() {
            return (bool) interceptor.Invoke("isNull", "isNull() const", typeof(bool));
        }
        public bool IsValid() {
            return (bool) interceptor.Invoke("isValid", "isValid() const", typeof(bool));
        }
        public int Hour() {
            return (int) interceptor.Invoke("hour", "hour() const", typeof(int));
        }
        public int Minute() {
            return (int) interceptor.Invoke("minute", "minute() const", typeof(int));
        }
        public int Second() {
            return (int) interceptor.Invoke("second", "second() const", typeof(int));
        }
        public int Msec() {
            return (int) interceptor.Invoke("msec", "msec() const", typeof(int));
        }
        public string ToString(Qt.DateFormat f) {
            return (string) interceptor.Invoke("toString$", "toString(Qt::DateFormat) const", typeof(string), typeof(Qt.DateFormat), f);
        }
        public new string ToString() {
            return (string) interceptor.Invoke("toString", "toString() const", typeof(string));
        }
        public string ToString(string format) {
            return (string) interceptor.Invoke("toString$", "toString(const QString&) const", typeof(string), typeof(string), format);
        }
        public bool SetHMS(int h, int m, int s, int ms) {
            return (bool) interceptor.Invoke("setHMS$$$$", "setHMS(int, int, int, int)", typeof(bool), typeof(int), h, typeof(int), m, typeof(int), s, typeof(int), ms);
        }
        public bool SetHMS(int h, int m, int s) {
            return (bool) interceptor.Invoke("setHMS$$$", "setHMS(int, int, int)", typeof(bool), typeof(int), h, typeof(int), m, typeof(int), s);
        }
        public QTime AddSecs(int secs) {
            return (QTime) interceptor.Invoke("addSecs$", "addSecs(int) const", typeof(QTime), typeof(int), secs);
        }
        public int SecsTo(QTime arg1) {
            return (int) interceptor.Invoke("secsTo#", "secsTo(const QTime&) const", typeof(int), typeof(QTime), arg1);
        }
        public QTime AddMSecs(int ms) {
            return (QTime) interceptor.Invoke("addMSecs$", "addMSecs(int) const", typeof(QTime), typeof(int), ms);
        }
        public int MsecsTo(QTime arg1) {
            return (int) interceptor.Invoke("msecsTo#", "msecsTo(const QTime&) const", typeof(int), typeof(QTime), arg1);
        }
        public override bool Equals(object o) {
            if (!(o is QTime)) { return false; }
            return this == (QTime) o;
        }
        public override int GetHashCode() {
            return interceptor.GetHashCode();
        }
        public void Start() {
            interceptor.Invoke("start", "start()", typeof(void));
        }
        public int Restart() {
            return (int) interceptor.Invoke("restart", "restart()", typeof(int));
        }
        public int Elapsed() {
            return (int) interceptor.Invoke("elapsed", "elapsed() const", typeof(int));
        }
        ~QTime() {
            interceptor.Invoke("~QTime", "~QTime()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QTime", "~QTime()", typeof(void));
        }
        public static bool operator==(QTime lhs, QTime other) {
            return (bool) staticInterceptor.Invoke("operator==#", "operator==(const QTime&) const", typeof(bool), typeof(QTime), lhs, typeof(QTime), other);
        }
        public static bool operator!=(QTime lhs, QTime other) {
            return !(bool) staticInterceptor.Invoke("operator==#", "operator==(const QTime&) const", typeof(bool), typeof(QTime), lhs, typeof(QTime), other);
        }
        public static bool operator<(QTime lhs, QTime other) {
            return (bool) staticInterceptor.Invoke("operator<#", "operator<(const QTime&) const", typeof(bool), typeof(QTime), lhs, typeof(QTime), other);
        }
        public static bool operator<=(QTime lhs, QTime other) {
            return (bool) staticInterceptor.Invoke("operator<=#", "operator<=(const QTime&) const", typeof(bool), typeof(QTime), lhs, typeof(QTime), other);
        }
        public static bool operator>(QTime lhs, QTime other) {
            return (bool) staticInterceptor.Invoke("operator>#", "operator>(const QTime&) const", typeof(bool), typeof(QTime), lhs, typeof(QTime), other);
        }
        public static bool operator>=(QTime lhs, QTime other) {
            return (bool) staticInterceptor.Invoke("operator>=#", "operator>=(const QTime&) const", typeof(bool), typeof(QTime), lhs, typeof(QTime), other);
        }
        public static QTime CurrentTime() {
            return (QTime) staticInterceptor.Invoke("currentTime", "currentTime()", typeof(QTime));
        }
        public static QTime FromString(string s, Qt.DateFormat f) {
            return (QTime) staticInterceptor.Invoke("fromString$$", "fromString(const QString&, Qt::DateFormat)", typeof(QTime), typeof(string), s, typeof(Qt.DateFormat), f);
        }
        public static QTime FromString(string s) {
            return (QTime) staticInterceptor.Invoke("fromString$", "fromString(const QString&)", typeof(QTime), typeof(string), s);
        }
        public static QTime FromString(string s, string format) {
            return (QTime) staticInterceptor.Invoke("fromString$$", "fromString(const QString&, const QString&)", typeof(QTime), typeof(string), s, typeof(string), format);
        }
        public static bool IsValid(int h, int m, int s, int ms) {
            return (bool) staticInterceptor.Invoke("isValid$$$$", "isValid(int, int, int, int)", typeof(bool), typeof(int), h, typeof(int), m, typeof(int), s, typeof(int), ms);
        }
        public static bool IsValid(int h, int m, int s) {
            return (bool) staticInterceptor.Invoke("isValid$$$", "isValid(int, int, int)", typeof(bool), typeof(int), h, typeof(int), m, typeof(int), s);
        }
    }
}
