diff options
author | Andre Hartmann <aha_1980@gmx.de> | 2016-05-27 20:54:37 +0200 |
---|---|---|
committer | André Hartmann <aha_1980@gmx.de> | 2016-06-01 08:20:33 +0000 |
commit | a345430678366db1a0540b4a38718bb12c0962c9 (patch) | |
tree | 606e7799032ee74dbc2ba85d1e85c068f342493c /src/plugins/canbus | |
parent | 5ddd6bb219102b9561ab7a85cc9c9b8feba17e58 (diff) |
QCanBus: Receive an error message from createDevice()
[ChangeLog] Before, createDevice() could only return
nullptr if anything goes wrong. Now, an optional textual
error description can be returned.
Task-number: QTBUG-53642
Change-Id: Ie097e5c63096ae6a6fb9a798e4a8f23219cf1cfb
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Diffstat (limited to 'src/plugins/canbus')
-rw-r--r-- | src/plugins/canbus/peakcan/main.cpp | 4 | ||||
-rw-r--r-- | src/plugins/canbus/socketcan/main.cpp | 3 | ||||
-rw-r--r-- | src/plugins/canbus/tinycan/main.cpp | 4 |
3 files changed, 8 insertions, 3 deletions
diff --git a/src/plugins/canbus/peakcan/main.cpp b/src/plugins/canbus/peakcan/main.cpp index 94213f1..9d4cd2e 100644 --- a/src/plugins/canbus/peakcan/main.cpp +++ b/src/plugins/canbus/peakcan/main.cpp @@ -51,11 +51,13 @@ class PeakCanBusPlugin : public QObject, public QCanBusFactory public: - QCanBusDevice *createDevice(const QString &interfaceName) const + QCanBusDevice *createDevice(const QString &interfaceName, QString *errorMessage) const { QString errorReason; if (!PeakCanBackend::canCreate(&errorReason)) { qWarning("%s", qPrintable(errorReason)); + if (errorMessage) + *errorMessage = errorReason; return nullptr; } diff --git a/src/plugins/canbus/socketcan/main.cpp b/src/plugins/canbus/socketcan/main.cpp index e83b569..930598f 100644 --- a/src/plugins/canbus/socketcan/main.cpp +++ b/src/plugins/canbus/socketcan/main.cpp @@ -53,8 +53,9 @@ class SocketCanBusPlugin : public QObject, public QCanBusFactory public: - QCanBusDevice *createDevice(const QString &interfaceName) const + QCanBusDevice *createDevice(const QString &interfaceName, QString *errorMessage) const { + Q_UNUSED(errorMessage); auto device = new SocketCanBackend(interfaceName); return device; } diff --git a/src/plugins/canbus/tinycan/main.cpp b/src/plugins/canbus/tinycan/main.cpp index d020425..34b8ce4 100644 --- a/src/plugins/canbus/tinycan/main.cpp +++ b/src/plugins/canbus/tinycan/main.cpp @@ -51,11 +51,13 @@ class TinyCanBusPlugin : public QObject, public QCanBusFactory public: - QCanBusDevice *createDevice(const QString &interfaceName) const + QCanBusDevice *createDevice(const QString &interfaceName, QString *errorMessage) const { QString errorReason; if (!TinyCanBackend::canCreate(&errorReason)) { qWarning("%s", qPrintable(errorReason)); + if (errorMessage) + *errorMessage = errorReason; return nullptr; } |