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 <list>
7 #include <string>
8 
9 class HantekDsoControl;
10 
16 class DSOModel {
17  public:
18  const int ID;
19  const unsigned vendorID;
20  const unsigned productID;
21  const unsigned vendorIDnoFirmware;
22  const unsigned productIDnoFirmware;
23  const unsigned firmwareVersion;
24  std::string firmwareToken;
28  std::string name;
29 
30  protected:
32 
33  public:
35  virtual void applyRequirements(HantekDsoControl *) const = 0;
36  DSOModel(int id, unsigned vendorID, unsigned productID, unsigned vendorIDnoFirmware, unsigned productIDnoFirmware,
37  unsigned firmwareVersion,
38  const std::string &firmwareToken, const std::string &name, const Dso::ControlSpecification &&specification);
39  virtual ~DSOModel() = default;
41  inline const Dso::ControlSpecification *spec() const { return &specification; }
42 };
const unsigned vendorIDnoFirmware
The USB vendor ID if no firmware is uploaded yet.
Definition: dsomodel.h:21
const unsigned vendorID
The USB vendor ID.
Definition: dsomodel.h:19
const Dso::ControlSpecification * spec() const
Return the device specifications.
Definition: dsomodel.h:41
virtual void applyRequirements(HantekDsoControl *) const =0
This model may need to modify the HantekDsoControl class to work correctly.
std::string firmwareToken
Definition: dsomodel.h:27
Describes a device This is the central class to describe a hantek compatible DSO. It contains all usb...
Definition: dsomodel.h:16
Dso::ControlSpecification specification
Definition: dsomodel.h:31
const unsigned firmwareVersion
Definition: dsomodel.h:23
Stores the specifications of the currently connected device.
Definition: controlspecification.h:42
std::string name
User visible name. Does not need internationalisation/translation.
Definition: dsomodel.h:28
virtual ~DSOModel()=default
DSOModel(int id, unsigned vendorID, unsigned productID, unsigned vendorIDnoFirmware, unsigned productIDnoFirmware, unsigned firmwareVersion, const std::string &firmwareToken, const std::string &name, const Dso::ControlSpecification &&specification)
Definition: dsomodel.cpp:6
const unsigned productID
The USB product ID.
Definition: dsomodel.h:20
const int ID
Definition: dsomodel.h:18
const unsigned productIDnoFirmware
The USB product ID if no firmware is uploaded yet.
Definition: dsomodel.h:22
The DsoControl abstraction layer for Hantek USB DSOs. TODO Please anyone, refactor this class into sm...
Definition: hantekdsocontrol.h:31