]> sigrok.org Git - pulseview.git/blobdiff - pv/sigsession.cpp
Added SigSession::get_data()
[pulseview.git] / pv / sigsession.cpp
index 6c9b57f84ac1e9492d321b606144643dc1acad3e..82fa877065254cd05c38f82aa64c19c54063732e 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
 
 #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::set;
+using std::string;
+using std::vector;
 
 namespace pv {
 
@@ -196,15 +203,22 @@ void SigSession::stop_capture()
        _sampling_thread.join();
 }
 
-vector< shared_ptr<view::Signal> > SigSession::get_signals() const
+set< shared_ptr<data::SignalData> > SigSession::get_data() const
 {
        lock_guard<mutex> lock(_signals_mutex);
-       return _signals;
+       set< shared_ptr<data::SignalData> > data;
+       BOOST_FOREACH(const shared_ptr<view::Signal> sig, _signals) {
+               assert(sig);
+               data.insert(sig->data());
+       }
+
+       return data;
 }
 
-boost::shared_ptr<data::Logic> SigSession::get_data()
+vector< shared_ptr<view::Signal> > SigSession::get_signals() const
 {
-       return _logic_data;
+       lock_guard<mutex> lock(_signals_mutex);
+       return _signals;
 }
 
 #ifdef ENABLE_DECODE