diff options
-rw-r--r-- | src/serialbus/qcanbusdevice.cpp | 18 | ||||
-rw-r--r-- | src/serialbus/qcanbusdevice.h | 15 | ||||
-rw-r--r-- | tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp | 2 |
3 files changed, 19 insertions, 16 deletions
diff --git a/src/serialbus/qcanbusdevice.cpp b/src/serialbus/qcanbusdevice.cpp index 9256bc8..222f19c 100644 --- a/src/serialbus/qcanbusdevice.cpp +++ b/src/serialbus/qcanbusdevice.cpp @@ -150,16 +150,18 @@ Q_LOGGING_CATEGORY(QT_CANBUS, "qt.canbus") */ /*! - \fn QCanBusDevice::Filter::operator==(const Filter &other) + \fn bool operator==(const QCanBusDevice::Filter &a, const QCanBusDevice::Filter &b) + \relates QCanBusDevice::Filter - Returns true, if the filter \a other is equal to this filter, + Returns true, if the filter \a a is equal to the filter \a b, otherwise returns false. */ /*! - \fn QCanBusDevice::Filter::operator!=(const Filter &other) + \fn bool operator!=(const QCanBusDevice::Filter &a, const QCanBusDevice::Filter &b) + \relates QCanBusDevice::Filter - Returns true, if the filter \a other is not equal to this filter, + Returns true, if the filter \a a is not equal to the filter \a b, otherwise returns false. */ @@ -347,11 +349,11 @@ bool QCanBusDevice::hasOutgoingFrames() const * Called from the derived plugin to register a function that performs the * CAN controller hardware reset when \a resetController() is called. */ -void QCanBusDevice::setResetControllerFunction(std::function<void()> &resetter) +void QCanBusDevice::setResetControllerFunction(std::function<void()> resetter) { Q_D(QCanBusDevice); - d->m_resetControllerFunction = resetter; + d->m_resetControllerFunction = std::move(resetter); } /*! @@ -359,11 +361,11 @@ void QCanBusDevice::setResetControllerFunction(std::function<void()> &resetter) * Called from the derived plugin to register a function that returns the * CAN controller bus status when \a busStatus() is called. */ -void QCanBusDevice::setCanBusStatusGetter(std::function<CanBusStatus()> &busStatusGetter) +void QCanBusDevice::setCanBusStatusGetter(std::function<CanBusStatus()> busStatusGetter) { Q_D(QCanBusDevice); - d->m_busStatusGetter = busStatusGetter; + d->m_busStatusGetter = std::move(busStatusGetter); } /*! diff --git a/src/serialbus/qcanbusdevice.h b/src/serialbus/qcanbusdevice.h index 1844f4b..5d2d976 100644 --- a/src/serialbus/qcanbusdevice.h +++ b/src/serialbus/qcanbusdevice.h @@ -98,15 +98,15 @@ public: struct Filter { - bool operator==(const Filter &other) const + friend constexpr bool operator==(const Filter &a, const Filter &b) noexcept { - return frameId == other.frameId && frameIdMask == other.frameIdMask - && type == other.type && format == other.format; + return a.frameId == b.frameId && a.frameIdMask == b.frameIdMask + && a.type == b.type && a.format == b.format; } - bool operator!=(const Filter &other) const + friend constexpr bool operator!=(const Filter &a, const Filter &b) noexcept { - return !operator==(other); + return !operator==(a, b); } enum FormatFilter { @@ -182,8 +182,8 @@ protected: virtual bool open() = 0; virtual void close() = 0; - void setResetControllerFunction(std::function<void()> &resetter); - void setCanBusStatusGetter(std::function<CanBusStatus()> &busStatusGetter); + void setResetControllerFunction(std::function<void()> resetter); + void setCanBusStatusGetter(std::function<CanBusStatus()> busStatusGetter); static QCanBusDeviceInfo createDeviceInfo(const QString &name, bool isVirtual = false, @@ -204,7 +204,6 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(QCanBusDevice::Directions) QT_END_NAMESPACE -Q_DECLARE_METATYPE(QCanBusDevice::Filter) Q_DECLARE_METATYPE(QCanBusDevice::Filter::FormatFilter) Q_DECLARE_METATYPE(QList<QCanBusDevice::Filter>) diff --git a/tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp b/tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp index e0b30f0..61d30c0 100644 --- a/tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp +++ b/tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp @@ -44,6 +44,8 @@ #include <memory> +Q_DECLARE_METATYPE(QCanBusDevice::Filter) + class tst_Backend : public QCanBusDevice { Q_OBJECT |