]> sigrok.org Git - pulseview.git/blobdiff - pv/sigsession.cpp
Paint decoder traces
[pulseview.git] / pv / sigsession.cpp
index 95af663babd1b01d2a6d9182acc9f94c8e723c92..2ab730aa9a9a7261ab4cc7576452fcac69e50cc2 100644 (file)
@@ -187,7 +187,7 @@ void SigSession::stop_capture()
        _sampling_thread.reset();
 }
 
-vector< shared_ptr<view::Signal> > SigSession::get_signals()
+vector< shared_ptr<view::Signal> > SigSession::get_signals() const
 {
        lock_guard<mutex> lock(_signals_mutex);
        return _signals;
@@ -198,12 +198,14 @@ boost::shared_ptr<data::Logic> SigSession::get_data()
        return _logic_data;
 }
 
-void SigSession::add_decoder(srd_decoder *const dec)
+void SigSession::add_decoder(srd_decoder *const dec,
+       std::map<const srd_probe*,
+               boost::shared_ptr<view::Signal> > probes)
 {
        {
                lock_guard<mutex> lock(_signals_mutex);
                shared_ptr<data::Decoder> decoder(
-                       new data::Decoder(dec));
+                       new data::Decoder(dec, probes));
                shared_ptr<view::DecodeSignal> d(
                        new view::DecodeSignal(*this, decoder));
                _decode_traces.push_back(d);
@@ -211,6 +213,12 @@ void SigSession::add_decoder(srd_decoder *const dec)
        signals_changed();
 }
 
+vector< shared_ptr<view::DecodeSignal> > SigSession::get_decode_signals() const
+{
+       lock_guard<mutex> lock(_signals_mutex);
+       return _decode_traces;
+}
+
 void SigSession::set_capture_state(capture_state state)
 {
        lock_guard<mutex> lock(_sampling_mutex);