]> sigrok.org Git - pulseview.git/blobdiff - pv/sigsession.cpp
Refactoring in View and SigSession
[pulseview.git] / pv / sigsession.cpp
index 2e7be37f9fb499e85156bd8480330d80059e7b89..a582122c15d3cdb353551c209c2c388835d397de 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the PulseView project.
  *
- * Copyright (C) 2012 Joel Holdsworth <joel@airwebreathe.org.uk>
+ * Copyright (C) 2012-14 Joel Holdsworth <joel@airwebreathe.org.uk>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -18,7 +18,9 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
+#ifdef ENABLE_DECODE
 #include <libsigrokdecode/libsigrokdecode.h>
+#endif
 
 #include "sigsession.h"
 
 
 #include <QDebug>
 
-using namespace boost;
-using namespace std;
+using boost::dynamic_pointer_cast;
+using boost::function;
+using boost::lock_guard;
+using boost::mutex;
+using boost::shared_ptr;
+using std::map;
+using std::string;
+using std::vector;
 
 namespace pv {
 
@@ -83,6 +91,9 @@ struct sr_dev_inst* SigSession::get_device() const
 
 void SigSession::set_device(struct sr_dev_inst *sdi)
 {
+       // Ensure we are not capturing before setting the device
+       stop_capture();
+
        if (_sdi)
                _device_manager.release_device(_sdi);
        if (sdi)
@@ -197,11 +208,7 @@ vector< shared_ptr<view::Signal> > SigSession::get_signals() const
        return _signals;
 }
 
-boost::shared_ptr<data::Logic> SigSession::get_data()
-{
-       return _logic_data;
-}
-
+#ifdef ENABLE_DECODE
 bool SigSession::add_decoder(srd_decoder *const dec)
 {
        map<const srd_probe*, shared_ptr<view::LogicSignal> > probes;
@@ -273,6 +280,7 @@ void SigSession::remove_decode_signal(view::DecodeTrace *signal)
                        return;
                }
 }
+#endif
 
 void SigSession::set_capture_state(capture_state state)
 {