X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fdevices%2Fdevice.cpp;h=855a1d82fca65019952b1baf46f21aef60c859de;hb=30fe44fbfb5727c6ca93f10cf4de913b4f13381f;hp=4edc1d10e11cbb3be3e1b5ae1e79760da47fc4cb;hpb=2ad82c2e40b6865481733913a2c32735602f63c4;p=pulseview.git
diff --git a/pv/devices/device.cpp b/pv/devices/device.cpp
index 4edc1d1..855a1d8 100644
--- a/pv/devices/device.cpp
+++ b/pv/devices/device.cpp
@@ -14,8 +14,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ * along with this program; if not, see .
*/
#include
@@ -24,11 +23,10 @@
#include "device.hpp"
-using std::map;
-using std::set;
+using std::shared_ptr;
using sigrok::ConfigKey;
-using sigrok::Error;
+using sigrok::Capability;
using Glib::VariantBase;
using Glib::Variant;
@@ -36,22 +34,18 @@ using Glib::Variant;
namespace pv {
namespace devices {
-Device::Device()
-{
-}
-
Device::~Device()
{
if (session_)
session_->remove_datafeed_callbacks();
}
-std::shared_ptr Device::session() const
+shared_ptr Device::session() const
{
return session_;
}
-std::shared_ptr Device::device() const
+shared_ptr Device::device() const
{
return device_;
}
@@ -64,20 +58,11 @@ template
T Device::read_config(const ConfigKey *key, const T default_value)
{
assert(key);
- map< const ConfigKey*, set > keys;
if (!device_)
return default_value;
- try {
- keys = device_->config_keys(ConfigKey::DEVICE_OPTIONS);
- } catch (const Error) {
- return default_value;
- }
-
- const auto iter = keys.find(key);
- if (iter == keys.end() ||
- (*iter).second.find(sigrok::GET) == (*iter).second.end())
+ if (!device_->config_check(key, Capability::GET))
return default_value;
return VariantBase::cast_dynamic>(