summaryrefslogtreecommitdiffstats
path: root/qt/qdbuserror.h
diff options
context:
space:
mode:
Diffstat (limited to 'qt/qdbuserror.h')
-rw-r--r--qt/qdbuserror.h44
1 files changed, 41 insertions, 3 deletions
diff --git a/qt/qdbuserror.h b/qt/qdbuserror.h
index da3d026f..71c636df 100644
--- a/qt/qdbuserror.h
+++ b/qt/qdbuserror.h
@@ -34,20 +34,58 @@ class QDBusMessage;
class QDBUS_EXPORT QDBusError
{
public:
+ enum KnownErrors {
+ NoError = 0,
+ Other = 1,
+ Failed,
+ NoMemory,
+ ServiceUnknown,
+ NoReply,
+ BadAddress,
+ NotSupported,
+ LimitsExceeded,
+ AccessDenied,
+ NoServer,
+ Timeout,
+ NoNetwork,
+ AddressInUse,
+ Disconnected,
+ InvalidArgs,
+ UnknownMethod,
+ TimedOut,
+ InvalidSignature,
+ UnknownInterface,
+ InternalError,
+
+#ifndef Q_QDOC
+ // don't use this one!
+ qKnownErrorsMax = InternalError
+#endif
+ };
+
QDBusError(const DBusError *error = 0);
QDBusError(const QDBusMessage& msg);
- inline QDBusError(const QString &name, const QString &message)
- : nm(name), msg(message)
- { }
+ QDBusError(KnownErrors error, const QString &message);
inline QString name() const { return nm; }
inline QString message() const { return msg; }
inline bool isValid() const { return !nm.isNull() && !msg.isNull(); }
+ inline bool operator==(KnownErrors error) const
+ { return code == error; }
+
private:
+ KnownErrors code;
QString nm, msg;
};
+inline bool operator==(QDBusError::KnownErrors p1, const QDBusError &p2)
+{ return p2 == p1; }
+inline bool operator!=(QDBusError::KnownErrors p1, const QDBusError &p2)
+{ return !(p2 == p1); }
+inline bool operator!=(const QDBusError &p1, QDBusError::KnownErrors p2)
+{ return !(p1 == p2); }
+
#ifndef QT_NO_DEBUG
QDebug operator<<(QDebug, const QDBusError &);
#endif