//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    /// <remarks> See <see cref="IQDBusPendingCallWatcherSignals"></see> for signals emitted by QDBusPendingCallWatcher
    /// </remarks>
    [SmokeClass("QDBusPendingCallWatcher")]
    public class QDBusPendingCallWatcher : QObject, IQDBusPendingCall, IDisposable {
        protected QDBusPendingCallWatcher(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QDBusPendingCallWatcher), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QDBusPendingCallWatcher() {
            staticInterceptor = new SmokeInvocation(typeof(QDBusPendingCallWatcher), null);
        }
        // QDBusPendingCall* QDBusPendingCall(QDBusPendingCallPrivate* arg1); >>>> NOT CONVERTED
        public QDBusPendingCallWatcher(IQDBusPendingCall call, QObject parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QDBusPendingCallWatcher##", "QDBusPendingCallWatcher(const QDBusPendingCall&, QObject*)", typeof(void), typeof(IQDBusPendingCall), call, typeof(QObject), parent);
        }
        public QDBusPendingCallWatcher(IQDBusPendingCall call) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QDBusPendingCallWatcher#", "QDBusPendingCallWatcher(const QDBusPendingCall&)", typeof(void), typeof(IQDBusPendingCall), call);
        }
        public bool IsFinished() {
            return (bool) interceptor.Invoke("isFinished", "isFinished() const", typeof(bool));
        }
        public void WaitForFinished() {
            interceptor.Invoke("waitForFinished", "waitForFinished()", typeof(void));
        }
        ~QDBusPendingCallWatcher() {
            interceptor.Invoke("~QDBusPendingCallWatcher", "~QDBusPendingCallWatcher()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QDBusPendingCallWatcher", "~QDBusPendingCallWatcher()", typeof(void));
        }
        public bool IsError() {
            return (bool) interceptor.Invoke("isError", "isError() const", typeof(bool));
        }
        public bool IsValid() {
            return (bool) interceptor.Invoke("isValid", "isValid() const", typeof(bool));
        }
        public QDBusError Error() {
            return (QDBusError) interceptor.Invoke("error", "error() const", typeof(QDBusError));
        }
        public QDBusMessage Reply() {
            return (QDBusMessage) interceptor.Invoke("reply", "reply() const", typeof(QDBusMessage));
        }
        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);
        }
        protected new IQDBusPendingCallWatcherSignals Emit {
            get { return (IQDBusPendingCallWatcherSignals) Q_EMIT; }
        }
    }

    public interface IQDBusPendingCallWatcherSignals : IQObjectSignals {
        [Q_SIGNAL("void finished(QDBusPendingCallWatcher*)")]
        void Finished(QDBusPendingCallWatcher self);
    }
}
