IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

QDBusError Class

The QDBusError class represents an error received from the D-Bus bus or from remote applications found in the bus.

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

QDBusError Class

  • Header: QDBusError

  • CMake:

    find_package(Qt6 REQUIRED COMPONENTS Dbus)

    target_link_libraries(mytarget PRIVATE Qt6::Dbus)

  • qmake: QT += dbus

Detailed Description

When dealing with the D-Bus bus service or with remote applications over D-Bus, a number of error conditions can happen. This error conditions are sometimes signalled by a returned error value or by a QDBusError.

C++ and Java exceptions are a valid analogy for D-Bus errors: instead of returning normally with a return value, remote applications and the bus may decide to throw an error condition. However, the Qt D-Bus implementation does not use the C++ exception-throwing mechanism, so you will receive QDBusErrors in the return reply (see QDBusReply::error()).

QDBusError objects are used to inspect the error name and message as received from the bus and remote applications. You should not create such objects yourself to signal error conditions when called from D-Bus: instead, use QDBusMessage::createError() and QDBusConnection::send().

See Also

Member Type Documentation

 

enum QDBusError::ErrorType

In order to facilitate verification of the most common D-Bus errors generated by the D-Bus implementation and by the bus daemon itself, QDBusError can be compared to a set of pre-defined values:

Constant

Value

Description

QDBusError::NoError

0

QDBusError is invalid (i.e., the call succeeded)

QDBusError::Other

1

QDBusError contains an error that is not one of the well-known ones

QDBusError::Failed

2

The call failed (org.freedesktop.DBus.Error.Failed)

QDBusError::NoMemory

3

Out of memory (org.freedesktop.DBus.Error.NoMemory)

QDBusError::ServiceUnknown

4

The called service is not known (org.freedesktop.DBus.Error.ServiceUnknown)

QDBusError::NoReply

5

The called method did not reply within the specified timeout (org.freedesktop.DBus.Error.NoReply)

QDBusError::BadAddress

6

The address given is not valid (org.freedesktop.DBus.Error.BadAddress)

QDBusError::NotSupported

7

The call/operation is not supported (org.freedesktop.DBus.Error.NotSupported)

QDBusError::LimitsExceeded

8

The limits allocated to this process/call/connection exceeded the pre-defined values (org.freedesktop.DBus.Error.LimitsExceeded)

QDBusError::AccessDenied

9

The call/operation tried to access a resource it isn't allowed to (org.freedesktop.DBus.Error.AccessDenied)

QDBusError::NoServer

10

Documentation doesn't say what this is for (org.freedesktop.DBus.Error.NoServer)

QDBusError::Timeout

11

Documentation doesn't say what this is for or how it's used (org.freedesktop.DBus.Error.Timeout)

QDBusError::NoNetwork

12

Documentation doesn't say what this is for (org.freedesktop.DBus.Error.NoNetwork)

QDBusError::AddressInUse

13

QDBusServer tried to bind to an address that is already in use (org.freedesktop.DBus.Error.AddressInUse)

QDBusError::Disconnected

14

The call/process/message was sent after QDBusConnection disconnected (org.freedesktop.DBus.Error.Disconnected)

QDBusError::InvalidArgs

15

The arguments passed to this call/operation are not valid (org.freedesktop.DBus.Error.InvalidArgs)

QDBusError::UnknownMethod

16

The method called was not found in this object/interface with the given parameters (org.freedesktop.DBus.Error.UnknownMethod)

QDBusError::TimedOut

17

Documentation doesn't say... (org.freedesktop.DBus.Error.TimedOut)

QDBusError::InvalidSignature

18

The type signature is not valid or compatible (org.freedesktop.DBus.Error.InvalidSignature)

QDBusError::UnknownInterface

19

The interface is not known in this object (org.freedesktop.DBus.Error.UnknownInterface)

QDBusError::UnknownObject

20

The object path points to an object that does not exist (org.freedesktop.DBus.Error.UnknownObject)

QDBusError::UnknownProperty

21

The property does not exist in this interface (org.freedesktop.DBus.Error.UnknownProperty)

QDBusError::PropertyReadOnly

22

The property set failed because the property is read-only (org.freedesktop.DBus.Error.PropertyReadOnly)

QDBusError::InternalError

23

An internal error occurred

QDBusError::InvalidObjectPath

25

The object path provided is invalid.

QDBusError::InvalidService

24

The service requested is invalid.

QDBusError::InvalidMember

27

The member is invalid.

QDBusError::InvalidInterface

26

The interface is invalid.

Member Function Documentation

 

[static] QString QDBusError::errorString(QDBusError::ErrorType error)

Returns the error name associated with error condition error.

bool QDBusError::isValid() const

Returns true if this is a valid error condition (i.e., if there was an error), otherwise false.

QString QDBusError::message() const

Returns the message that the callee associated with this error. Error messages are implementation defined and usually contain a human-readable error code, though this does not mean it is suitable for your end-users.

QString QDBusError::name() const

Returns this error's name. Error names are similar to D-Bus Interface names, like org.freedesktop.DBus.InvalidArgs.

See Also

See also type()

void QDBusError::swap(QDBusError &other)

Swaps this QDBusError instance with other.

QDBusError::ErrorType QDBusError::type() const

Returns this error's ErrorType.

See Also

See also ErrorType

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+