]> sigrok.org Git - pulseview.git/blobdiff - pv/sigsession.cpp
Added missing includes and defintions
[pulseview.git] / pv / sigsession.cpp
index d8976a1483c1c7ab47708f7fa285d84789b21c80..a69f068e804f3d249ec831f59395e5dcec31904e 100644 (file)
@@ -201,12 +201,6 @@ void SigSession::add_decoder(srd_decoder *const dec,
        {
                lock_guard<mutex> lock(_signals_mutex);
 
-               if (!_decode_traces.empty()) {
-                       qDebug("Currently only one decode trace can be added "
-                               "at once");
-                       _decode_traces.clear();
-               }
-
                shared_ptr<data::Decoder> decoder(
                        new data::Decoder(dec, probes, options));
                shared_ptr<view::DecodeSignal> d(
@@ -223,6 +217,20 @@ vector< shared_ptr<view::DecodeSignal> > SigSession::get_decode_signals() const
        return _decode_traces;
 }
 
+void SigSession::remove_decode_signal(view::DecodeSignal *signal)
+{
+       for (vector< shared_ptr<view::DecodeSignal> >::iterator i =
+               _decode_traces.begin();
+               i != _decode_traces.end();
+               i++)
+               if ((*i).get() == signal)
+               {
+                       _decode_traces.erase(i);
+                       signals_changed();
+                       return;
+               }
+}
+
 void SigSession::set_capture_state(capture_state state)
 {
        lock_guard<mutex> lock(_sampling_mutex);
@@ -364,8 +372,7 @@ void SigSession::update_signals(const sr_dev_inst *const sdi)
 
                if(sdi) {
                        for (const GSList *l = sdi->probes; l; l = l->next) {
-                               const sr_probe *const probe =
-                                       (const sr_probe *)l->data;
+                               sr_probe *const probe = (sr_probe *)l->data;
                                assert(probe);
 
                                switch(probe->type) {