OpenHantek
dsomodel.h
Go to the documentation of this file.
1 // SPDX-License-Identifier: GPL-2.0+
2 
3 #pragma once
4 
5 #include "controlspecification.h"
6 #include <QString>
7 #include <list>
8 #include <string>
9 
10 class HantekDsoControl;
11 
17 class DSOModel {
18  public:
19  const int ID;
20  const unsigned vendorID;
21  const unsigned productID;
22  const unsigned vendorIDnoFirmware;
23  const unsigned productIDnoFirmware;
24  const unsigned firmwareVersion;
25  const QString firmwareToken;
29  const QString name;
30 
31  protected:
33 
34  public:
36  virtual void applyRequirements( HantekDsoControl * ) const = 0;
37  DSOModel( int id, unsigned vendorID, unsigned productID, unsigned vendorIDnoFirmware, unsigned productIDnoFirmware,
38  unsigned firmwareVersion, const QString &firmwareToken, const QString &name,
40  virtual ~DSOModel() = default;
42  inline const Dso::ControlSpecification *spec() const { return &specification; }
43 };
const unsigned vendorIDnoFirmware
The USB vendor ID if no firmware is uploaded yet.
Definition: dsomodel.h:22
DSOModel(int id, unsigned vendorID, unsigned productID, unsigned vendorIDnoFirmware, unsigned productIDnoFirmware, unsigned firmwareVersion, const QString &firmwareToken, const QString &name, const Dso::ControlSpecification &&specification)
Definition: dsomodel.cpp:6
const unsigned vendorID
The USB vendor ID.
Definition: dsomodel.h:20
const QString firmwareToken
Definition: dsomodel.h:28
const Dso::ControlSpecification * spec() const
Return the device specifications.
Definition: dsomodel.h:42
virtual void applyRequirements(HantekDsoControl *) const =0
This model may need to modify the HantekDsoControl class to work correctly.
const QString name
User visible name. Does not need internationalisation/translation.
Definition: dsomodel.h:29
Describes a device This is the central class to describe a hantek compatible DSO. It contains all usb...
Definition: dsomodel.h:17
Dso::ControlSpecification specification
Definition: dsomodel.h:32
const unsigned firmwareVersion
Definition: dsomodel.h:24
Stores the specifications of the currently connected device.
Definition: controlspecification.h:42
virtual ~DSOModel()=default
const unsigned productID
The USB product ID.
Definition: dsomodel.h:21
const int ID
Definition: dsomodel.h:19
const unsigned productIDnoFirmware
The USB product ID if no firmware is uploaded yet.
Definition: dsomodel.h:23
The DsoControl abstraction layer for Hantek USB DSOs. TODO Please anyone, refactor this class into sm...
Definition: hantekdsocontrol.h:53