+bool Decoder::have_required_probes() const
+{
+ for (GSList *p = _decoder->probes; p; p = p->next) {
+ const srd_probe *const probe = (const srd_probe*)p->data;
+ assert(probe);
+ if (_probes.find(probe) == _probes.end())
+ return false;
+ }
+
+ return true;
+}
+
+set< shared_ptr<pv::data::Logic> > Decoder::get_data()
+{
+ set< shared_ptr<pv::data::Logic> > data;
+ for(map<const srd_probe*, shared_ptr<view::LogicSignal> >::
+ const_iterator i = _probes.begin();
+ i != _probes.end(); i++)
+ {
+ shared_ptr<view::LogicSignal> signal((*i).second);
+ assert(signal);
+ data.insert(signal->logic_data());
+ }
+
+ return data;
+}
+
+srd_decoder_inst* Decoder::create_decoder_inst(srd_session *session, int unit_size) const