]> sigrok.org Git - pulseview.git/blobdiff - pv/dialogs/connect.cpp
Adapt to config key capabilities.
[pulseview.git] / pv / dialogs / connect.cpp
index 7b31942d974e5ca28e8aab2d33e54a5db7d608af..1156d6f5c87b2e79993f6cea7426e8411adc51e4 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#include <boost/foreach.hpp>
+#include <cassert>
 
 #include <libsigrok/libsigrok.h>
 
 #include "connect.h"
 
 #include "pv/devicemanager.h"
-#include "pv/device/devinst.h"
+#include "pv/device/device.h"
 
 extern "C" {
 /* __STDC_FORMAT_MACROS is required for PRIu64 and friends (in C++). */
@@ -34,8 +34,8 @@ extern "C" {
 #include <libsigrok/libsigrok.h>
 }
 
-using boost::shared_ptr;
 using std::list;
+using std::shared_ptr;
 using std::string;
 
 extern sr_context *sr_ctx;
@@ -82,18 +82,17 @@ Connect::Connect(QWidget *parent, pv::DeviceManager &device_manager) :
        _layout.addWidget(&_button_box);
 }
 
-shared_ptr<device::DevInst> Connect::get_selected_device() const
+shared_ptr<device::Device> Connect::get_selected_device() const
 {
        const QListWidgetItem *const item = _device_list.currentItem();
        if (!item)
-               return shared_ptr<device::DevInst>();
+               return shared_ptr<device::Device>();
 
        const sr_dev_inst *const sdi = (sr_dev_inst*)item->data(
                Qt::UserRole).value<void*>();
        assert(sdi);
 
-       std::map<const sr_dev_inst*, boost::shared_ptr<pv::device::DevInst> >::
-               const_iterator iter = _device_map.find(sdi);
+       const auto iter = _device_map.find(sdi);
        assert(iter != _device_map.end());
 
        return (*iter).second;
@@ -120,7 +119,7 @@ void Connect::populate_drivers()
                        hwopts = (const int32_t *)g_variant_get_fixed_array(gvar_opts,
                                        &num_opts, sizeof(int32_t));
                        for (unsigned int j = 0; j < num_opts; j++)
-                               if (hwopts[j] == SR_CONF_SAMPLERATE) {
+                               if ((hwopts[j] & SR_CONF_MASK) == SR_CONF_SAMPLERATE) {
                                        supported_device = true;
                                        break;
                                }
@@ -170,12 +169,12 @@ void Connect::scan_pressed()
                drvopts = g_slist_append(drvopts, src);
        }
 
-       const list< shared_ptr<device::DevInst> > devices =
+       const list< shared_ptr<device::Device> > devices =
                _device_manager.driver_scan(driver, drvopts);
 
        g_slist_free_full(drvopts, (GDestroyNotify)free_drvopts);
 
-       BOOST_FOREACH(shared_ptr<device::DevInst> dev_inst, devices)
+       for (shared_ptr<device::Device> dev_inst : devices)
        {
                assert(dev_inst);
                const sr_dev_inst *const sdi = dev_inst->dev_inst();
@@ -184,9 +183,9 @@ void Connect::scan_pressed()
                const string title = dev_inst->format_device_title();
                QString text = QString::fromUtf8(title.c_str());
 
-               if (sdi->probes) {
-                       text += QString(" with %1 probes").arg(
-                               g_slist_length(sdi->probes));
+               if (sdi->channels) {
+                       text += QString(" with %1 channels").arg(
+                               g_slist_length(sdi->channels));
                }
 
                QListWidgetItem *const item = new QListWidgetItem(text,