+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);
+
+ 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));
+ shared_ptr<view::DecodeSignal> d(
+ new view::DecodeSignal(*this, decoder,
+ _decode_traces.size()));
+ _decode_traces.push_back(d);
+ }
+ signals_changed();
+}
+
+vector< shared_ptr<view::DecodeSignal> > SigSession::get_decode_signals() const
+{
+ lock_guard<mutex> lock(_signals_mutex);
+ return _decode_traces;
+}
+