]> sigrok.org Git - pulseview.git/blobdiff - pv/prop/binding/decoderoptions.cpp
Implemented decoder stacking
[pulseview.git] / pv / prop / binding / decoderoptions.cpp
index 0a6cd15c998604bdfad8ba9913c1fa640c6793b7..34f1b813a6478012ceec15eaa7f6d704784ab525 100644 (file)
 
 #include "decoderoptions.h"
 
+#include <boost/bind.hpp>
 #include <boost/foreach.hpp>
 #include <boost/none_t.hpp>
 
 #include <pv/data/decoderstack.h>
+#include <pv/data/decode/decoder.h>
 #include <pv/prop/int.h>
 #include <pv/prop/string.h>
 
@@ -36,7 +38,10 @@ namespace pv {
 namespace prop {
 namespace binding {
 
-DecoderOptions::DecoderOptions(shared_ptr<pv::data::DecoderStack> decoder) :
+DecoderOptions::DecoderOptions(
+       shared_ptr<pv::data::DecoderStack> decoder_stack,
+       shared_ptr<data::decode::Decoder> decoder) :
+       _decoder_stack(decoder_stack),
        _decoder(decoder)
 {
        assert(_decoder);
@@ -105,6 +110,9 @@ void DecoderOptions::setter(const char *id, GVariant *value)
 {
        assert(_decoder);
        _decoder->set_option(id, value);
+
+       assert(_decoder_stack);
+       _decoder_stack->begin_decode();
 }
 
 } // binding