- lock_guard<mutex> lock(_signals_mutex);
- return _signals;
-}
-
-boost::shared_ptr<data::Logic> SigSession::get_data()
-{
- return _logic_data;
-}
-
-void SigSession::add_decoder(srd_decoder *const dec,
- std::map<const srd_probe*,
- boost::shared_ptr<view::Signal> > probes,
- GHashTable *options)
-{
- {
- 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(
- new view::DecodeSignal(*this, decoder,
- _decode_traces.size()));
- _decode_traces.push_back(d);
+ shared_lock<shared_mutex> lock(signals_mutex_);
+ set< shared_ptr<data::SignalData> > data;
+ for (const shared_ptr<view::Signal> sig : signals_) {
+ assert(sig);
+ data.insert(sig->data());