#ifdef ENABLE_DECODE
#include <libsigrokdecode/libsigrokdecode.h>
+#include "data/decodesignal.hpp"
#endif
using std::bad_alloc;
/**
* Convert generic options to data types that are specific to InputFormat.
*
- * @param[in] user_spec vector of tokenized words, string format
- * @param[in] fmt_opts input format's options, result of InputFormat::options()
+ * @param[in] user_spec Vector of tokenized words, string format.
+ * @param[in] fmt_opts Input format's options, result of InputFormat::options().
*
- * @return map of options suitable for InputFormat::create_input()
+ * @return Map of options suitable for InputFormat::create_input().
*/
map<string, Glib::VariantBase>
Session::input_format_options(vector<string> user_spec,
decoder_stack->stack().front()->set_channels(channels);
// Create the decode signal
- shared_ptr<data::SignalBase> signalbase =
- make_shared<data::SignalBase>(nullptr, data::SignalBase::DecodeChannel);
+ shared_ptr<data::DecodeSignal> signal =
+ make_shared<data::DecodeSignal>(decoder_stack);
- signalbase->set_decoder_stack(decoder_stack);
- signalbases_.insert(signalbase);
+ signalbases_.insert(signal);
for (shared_ptr<views::ViewBase> view : views_)
- view->add_decode_signal(signalbase);
+ view->add_decode_signal(signal);
} catch (runtime_error e) {
return false;
}
return true;
}
-void Session::remove_decode_signal(shared_ptr<data::SignalBase> signalbase)
+void Session::remove_decode_signal(shared_ptr<data::DecodeSignal> signal)
{
- signalbases_.erase(signalbase);
+ signalbases_.erase(signal);
for (shared_ptr<views::ViewBase> view : views_)
- view->remove_decode_signal(signalbase);
+ view->remove_decode_signal(signal);
signals_changed();
}