OpenHantek
finddevices.h
Go to the documentation of this file.
1 // SPDX-License-Identifier: GPL-2.0+
2 
3 #pragma once
4 
5 #include <QString>
6 #include <list>
7 #include <map>
8 #include <memory>
9 
10 #include "scopedevice.h"
11 
12 struct libusb_context;
13 
23 class FindDevices {
24  public:
25  typedef std::map< UniqueUSBid, std::unique_ptr< ScopeDevice > > DeviceList;
26  explicit FindDevices( libusb_context *context, unsigned verboseLevel = 0 );
29  int updateDeviceList();
30  const DeviceList *getDevices();
36  std::unique_ptr< ScopeDevice > takeDevice( UniqueUSBid id );
37 
38  private:
39  libusb_context *context;
41  unsigned findIteration = 0;
42  unsigned verboseLevel = 0;
43 };
int updateDeviceList()
Definition: finddevices.cpp:29
unsigned findIteration
Definition: finddevices.h:41
Search for Hantek devices. Use usually want to call updateDeviceList and then retrieve the list via g...
Definition: finddevices.h:23
libusb_context * context
The usb context used for this device.
Definition: finddevices.h:39
std::unique_ptr< ScopeDevice > takeDevice(UniqueUSBid id)
takeDevice
Definition: finddevices.cpp:98
DeviceList devices
Definition: finddevices.h:40
unsigned verboseLevel
Definition: finddevices.h:42
uint64_t UniqueUSBid
Definition: scopedevice.h:20
std::map< UniqueUSBid, std::unique_ptr< ScopeDevice > > DeviceList
Definition: finddevices.h:25
FindDevices(libusb_context *context, unsigned verboseLevel=0)
Definition: finddevices.cpp:22
const DeviceList * getDevices()
Definition: finddevices.cpp:95