1 /* Webcamoid, webcam capture application. 2 * Copyright (C) 2016 Gonzalo Exequiel Pedone 3 * 4 * Webcamoid is free software: you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation, either version 3 of the License, or 7 * (at your option) any later version. 8 * 9 * Webcamoid is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with Webcamoid. If not, see <http://www.gnu.org/licenses/>. 16 * 17 * Web-Site: http://webcamoid.github.io/ 18 */ 19 20 #ifndef USBIDS_H 21 #define USBIDS_H 22 23 #include <QObject> 24 #include <QVector> 25 #include <QMap> 26 27 struct UsbIdsElement 28 { 29 quint16 vendorId; 30 QString vendor; 31 QMap<quint16, QString> products; 32 }; 33 34 class UsbIds: public QObject 35 { 36 Q_OBJECT 37 38 public: 39 UsbIds(QObject *parent=nullptr); 40 41 const UsbIdsElement *operator [](quint16 vendorId) const; 42 QString description(quint16 vendorId, quint16 productId) const; 43 44 private: 45 QVector<UsbIdsElement> m_ids; 46 47 signals: 48 49 public slots: 50 }; 51 52 #endif // USBIDS_H 53