#ifndef PULSEVIEW_PV_CONNECT_H
#define PULSEVIEW_PV_CONNECT_H
+#include <memory>
+
#include <QComboBox>
#include <QDialog>
#include <QDialogButtonBox>
#include <QPushButton>
#include <QVBoxLayout>
-struct sr_config;
-struct sr_dev_inst;
+namespace sigrok {
+ class Driver;
+ class HardwareDevice;
+}
+
+Q_DECLARE_METATYPE(std::shared_ptr<sigrok::Driver>);
+Q_DECLARE_METATYPE(std::shared_ptr<sigrok::HardwareDevice>);
namespace pv {
+
+class DeviceManager;
+
namespace dialogs {
class Connect : public QDialog
Q_OBJECT
public:
- Connect(QWidget *parent);
+ Connect(QWidget *parent, pv::DeviceManager &device_manager);
- struct sr_dev_inst* get_selected_device() const;
+ std::shared_ptr<sigrok::HardwareDevice> get_selected_device() const;
private:
void populate_drivers();
void set_serial_connection();
-private slots:
+private Q_SLOTS:
void device_selected(int index);
void scan_pressed();
private:
- static void free_drvopts(sr_config *src);
+ pv::DeviceManager &_device_manager;
-private:
QVBoxLayout _layout;
QWidget _form;