//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QDBusError")]
    public class QDBusError : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QDBusError(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QDBusError), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QDBusError() {
            staticInterceptor = new SmokeInvocation(typeof(QDBusError), null);
        }
        public enum ErrorType {
            NoError = 0,
            Other = 1,
            Failed = 2,
            NoMemory = 3,
            ServiceUnknown = 4,
            NoReply = 5,
            BadAddress = 6,
            NotSupported = 7,
            LimitsExceeded = 8,
            AccessDenied = 9,
            NoServer = 10,
            Timeout = 11,
            NoNetwork = 12,
            AddressInUse = 13,
            Disconnected = 14,
            InvalidArgs = 15,
            UnknownMethod = 16,
            TimedOut = 17,
            InvalidSignature = 18,
            UnknownInterface = 19,
            InternalError = 20,
            UnknownObject = 21,
            LastErrorType = UnknownObject,
        }
        // QDBusError* QDBusError(const DBusError* arg1); >>>> NOT CONVERTED
        public QDBusError(QDBusMessage msg) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QDBusError#", "QDBusError(const QDBusMessage&)", typeof(void), typeof(QDBusMessage), msg);
        }
        public QDBusError(QDBusError.ErrorType error, string message) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QDBusError$$", "QDBusError(QDBusError::ErrorType, const QString&)", typeof(void), typeof(QDBusError.ErrorType), error, typeof(string), message);
        }
        public QDBusError(QDBusError other) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QDBusError#", "QDBusError(const QDBusError&)", typeof(void), typeof(QDBusError), other);
        }
        public QDBusError.ErrorType type() {
            return (QDBusError.ErrorType) interceptor.Invoke("type", "type() const", typeof(QDBusError.ErrorType));
        }
        public string Name() {
            return (string) interceptor.Invoke("name", "name() const", typeof(string));
        }
        public string Message() {
            return (string) interceptor.Invoke("message", "message() const", typeof(string));
        }
        public bool IsValid() {
            return (bool) interceptor.Invoke("isValid", "isValid() const", typeof(bool));
        }
        ~QDBusError() {
            interceptor.Invoke("~QDBusError", "~QDBusError()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QDBusError", "~QDBusError()", typeof(void));
        }
        public static string ErrorString(QDBusError.ErrorType error) {
            return (string) staticInterceptor.Invoke("errorString$", "errorString(QDBusError::ErrorType)", typeof(string), typeof(QDBusError.ErrorType), error);
        }
    }
}
