//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    /// <remarks>*************************************************
    /// 
    /// * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    ///  Contact: Qt Software Information (qt-info@nokia.com)
    /// 
    /// * This file is part of the QtCore module of the Qt Toolkit.
    /// 
    /// * No Commercial Usage
    ///  This file contains pre-release code and may not be distributed.
    ///  You may use this file in accordance with the terms and conditions
    ///  contained in the either Technology Preview License Agreement or the
    ///  Beta Release License Agreement.
    /// 
    /// * GNU General Public License Usage
    ///  Alternatively, this file may be used under the terms of the GNU
    ///  General Public License versions 2.0 or 3.0 as published by the Free
    ///  Software Foundation and appearing in the file LICENSE.GPL included in
    ///  the packaging of this file.  Please review the following information
    ///  to ensure GNU General Public Licensing requirements will be met:
    ///  http://www.fsf.org/licensing/licenses/info/GPLv2.html and
    ///  http://www.gnu.org/copyleft/gpl.html.  In addition, as a special
    ///  exception, Nokia gives you certain additional rights. These rights
    ///  are described in the Nokia Qt GPL Exception version 1.3, included in
    ///  the file GPL_EXCEPTION.txt in this package.
    /// 
    /// * Qt for Windows(R) Licensees
    ///  As a special exception, Nokia, as the sole copyright holder for Qt
    ///  Designer, grants users of the Qt/Eclipse Integration plug-in the
    ///  right for the Qt/Eclipse Integration to link to functionality
    ///  provided by Qt Designer and its related libraries.
    /// 
    /// * If you are unsure which license is appropriate for your use, please
    ///  contact the sales department at qt-sales@nokia.com.
    /// 
    /// ************************************************** See <see cref="IQTimerSignals"></see> for signals emitted by QTimer
    /// </remarks>        <short>                                                                                 Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</short>
    [SmokeClass("QTimer")]
    public class QTimer : QObject, IDisposable {
        protected QTimer(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QTimer), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QTimer() {
            staticInterceptor = new SmokeInvocation(typeof(QTimer), null);
        }
        [Q_PROPERTY("bool", "singleShot")]
        public bool SingleShot {
            get { return (bool) interceptor.Invoke("isSingleShot", "isSingleShot()", typeof(bool)); }
            set { interceptor.Invoke("setSingleShot$", "setSingleShot(bool)", typeof(void), typeof(bool), value); }
        }
        [Q_PROPERTY("int", "interval")]
        public int Interval {
            get { return (int) interceptor.Invoke("interval", "interval()", typeof(int)); }
            set { interceptor.Invoke("setInterval$", "setInterval(int)", typeof(void), typeof(int), value); }
        }
        [Q_PROPERTY("bool", "active")]
        public bool Active {
            get { return (bool) interceptor.Invoke("isActive", "isActive()", typeof(bool)); }
        }
        public QTimer(QObject parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QTimer#", "QTimer(QObject*)", typeof(void), typeof(QObject), parent);
        }
        public QTimer() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QTimer", "QTimer()", typeof(void));
        }
        public int TimerId() {
            return (int) interceptor.Invoke("timerId", "timerId() const", typeof(int));
        }
        [Q_SLOT("void start(int)")]
        public void Start(int msec) {
            interceptor.Invoke("start$", "start(int)", typeof(void), typeof(int), msec);
        }
        [Q_SLOT("void start()")]
        public void Start() {
            interceptor.Invoke("start", "start()", typeof(void));
        }
        [Q_SLOT("void stop()")]
        public void Stop() {
            interceptor.Invoke("stop", "stop()", typeof(void));
        }
        [SmokeMethod("timerEvent(QTimerEvent*)")]
        protected override void TimerEvent(QTimerEvent arg1) {
            interceptor.Invoke("timerEvent#", "timerEvent(QTimerEvent*)", typeof(void), typeof(QTimerEvent), arg1);
        }
        ~QTimer() {
            interceptor.Invoke("~QTimer", "~QTimer()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QTimer", "~QTimer()", typeof(void));
        }
        public static new string Tr(string s, string c) {
            return (string) staticInterceptor.Invoke("tr$$", "tr(const char*, const char*)", typeof(string), typeof(string), s, typeof(string), c);
        }
        public static new string Tr(string s) {
            return (string) staticInterceptor.Invoke("tr$", "tr(const char*)", typeof(string), typeof(string), s);
        }
        public static void singleShot(int msec, QObject receiver, string member) {
            staticInterceptor.Invoke("singleShot$#$", "singleShot(int, QObject*, const char*)", typeof(void), typeof(int), msec, typeof(QObject), receiver, typeof(string), member);
        }
        protected new IQTimerSignals Emit {
            get { return (IQTimerSignals) Q_EMIT; }
        }
    }

    public interface IQTimerSignals : IQObjectSignals {
        [Q_SIGNAL("void timeout()")]
        void Timeout();
    }
}
