diff options
Diffstat (limited to 'qt/qdbuserror.h')
-rw-r--r-- | qt/qdbuserror.h | 44 |
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 |