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