| /**************************************************************************** |
| ** |
| ** Copyright (C) 2017 Andre Hartmann <aha_1980@gmx.de> |
| ** Contact: http://www.qt.io/licensing/ |
| ** |
| ** This file is part of the QtSerialBus module of the Qt Toolkit. |
| ** |
| ** $QT_BEGIN_LICENSE:LGPL3$ |
| ** Commercial License Usage |
| ** Licensees holding valid commercial Qt licenses may use this file in |
| ** accordance with the commercial license agreement provided with the |
| ** Software or, alternatively, in accordance with the terms contained in |
| ** a written agreement between you and The Qt Company. For licensing terms |
| ** and conditions see http://www.qt.io/terms-conditions. For further |
| ** information use the contact form at http://www.qt.io/contact-us. |
| ** |
| ** GNU Lesser General Public License Usage |
| ** Alternatively, this file may be used under the terms of the GNU Lesser |
| ** General Public License version 3 as published by the Free Software |
| ** Foundation and appearing in the file LICENSE.LGPLv3 included in the |
| ** packaging of this file. Please review the following information to |
| ** ensure the GNU Lesser General Public License version 3 requirements |
| ** will be met: https://www.gnu.org/licenses/lgpl.html. |
| ** |
| ** GNU General Public License Usage |
| ** Alternatively, this file may be used under the terms of the GNU |
| ** General Public License version 2.0 or later as published by the Free |
| ** Software Foundation and appearing in the file LICENSE.GPL included in |
| ** the packaging of this file. Please review the following information to |
| ** ensure the GNU General Public License version 2.0 requirements will be |
| ** met: http://www.gnu.org/licenses/gpl-2.0.html. |
| ** |
| ** $QT_END_LICENSE$ |
| ** |
| ****************************************************************************/ |
| |
| #include "qcanbusdeviceinfo.h" |
| #include "qcanbusdeviceinfo_p.h" |
| |
| QT_BEGIN_NAMESPACE |
| |
| /*! |
| \class QCanBusDeviceInfo |
| \inmodule QtSerialBus |
| \since 5.9 |
| |
| \brief The QCanBusDeviceInfo provides information about CAN bus interfaces. |
| |
| Each plugin may support one or more interfaces with different |
| capabilities. This class provides information about available functions. |
| */ |
| |
| /*! |
| Constructs a copy of \a other. |
| */ |
| QCanBusDeviceInfo::QCanBusDeviceInfo(const QCanBusDeviceInfo &) = default; |
| |
| /*! |
| Constructs a CAN bus device info from QCanBusDeviceInfoPrivate \a dd. |
| \internal |
| */ |
| QCanBusDeviceInfo::QCanBusDeviceInfo(QCanBusDeviceInfoPrivate &dd) : |
| d_ptr(&dd) |
| { |
| } |
| |
| /*! |
| Destroys the CAN bus device info. |
| */ |
| QCanBusDeviceInfo::~QCanBusDeviceInfo() = default; |
| |
| /*! |
| \fn void QCanBusDeviceInfo::swap(QCanBusDeviceInfo &other) |
| Swaps this CAN bus device info with \a other. This operation is very fast |
| and never fails. |
| */ |
| |
| /*! |
| \fn QCanBusDeviceInfo &QCanBusDeviceInfo::operator=(QCanBusDeviceInfo &&other) |
| |
| Move-assigns other to this QCanBusDeviceInfo instance. |
| */ |
| |
| /*! |
| Assigns \a other to this CAN bus device info and returns a reference to this |
| CAN bus device info. |
| */ |
| QCanBusDeviceInfo &QCanBusDeviceInfo::operator=(const QCanBusDeviceInfo &) = default; |
| |
| /*! |
| Returns the interface name of this CAN bus interface, e.g. can0. |
| */ |
| QString QCanBusDeviceInfo::name() const |
| { |
| return d_ptr->name; |
| } |
| |
| /*! |
| \since 5.11 |
| Returns a textual description of the CAN bus interface, if available. |
| Example output: "PCAN USB Pro FD". If no description is available, |
| an empty string is returned. |
| */ |
| QString QCanBusDeviceInfo::description() const |
| { |
| return d_ptr->description; |
| } |
| |
| /*! |
| \since 5.11 |
| Returns the serial number of the CAN bus interface as string, if available. |
| Otherwise, an empty string is returned. |
| */ |
| QString QCanBusDeviceInfo::serialNumber() const |
| { |
| return d_ptr->serialNumber; |
| } |
| |
| /*! |
| \since 5.11 |
| Returns the sequential channel number of the CAN bus interface, starting |
| with zero. For example, a two channel CAN interface may have the channels |
| 0 and 1. If the interface has only one channel or if no information about |
| the channel is available, zero is returned. |
| */ |
| int QCanBusDeviceInfo::channel() const |
| { |
| return d_ptr->channel; |
| } |
| |
| /*! |
| Returns true, if the CAN bus interface is CAN FD (flexible data rate) capable. |
| |
| If this information is not available, false is returned. |
| */ |
| bool QCanBusDeviceInfo::hasFlexibleDataRate() const |
| { |
| return d_ptr->hasFlexibleDataRate; |
| } |
| |
| /*! |
| Returns true, if the CAN bus interface is virtual (i.e. not connected to real |
| CAN hardware). |
| |
| If this information is not available, false is returned. |
| */ |
| bool QCanBusDeviceInfo::isVirtual() const |
| { |
| return d_ptr->isVirtual; |
| } |
| |
| QT_END_NAMESPACE |