X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fdecoder.cpp;h=e1be16e3ea14898fcea05f0f9f34b48d101e04c0;hp=65854ee056b9384c1c0a7a774de78ee9fdb3f1b3;hb=640d69ce065e5c5a30e83395b259a63f7e03c779;hpb=e332f6d399ecba201389c1e048239a7fe0cc87d5 diff --git a/pv/data/decoder.cpp b/pv/data/decoder.cpp index 65854ee0..e1be16e3 100644 --- a/pv/data/decoder.cpp +++ b/pv/data/decoder.cpp @@ -40,11 +40,30 @@ Decoder::Decoder(const srd_decoder *const dec, init_decoder(); } +Decoder::~Decoder() +{ + _decode_thread.interrupt(); + _decode_thread.join(); +} + const srd_decoder* Decoder::get_decoder() const { return _decoder; } +void Decoder::begin_decode() +{ + _decode_thread.interrupt(); + _decode_thread.join(); + + _decode_thread = boost::thread(&Decoder::decode_proc, this, + shared_ptr()); +} + +void Decoder::clear_snapshots() +{ +} + void Decoder::init_decoder() { _decoder_inst = srd_inst_new(_decoder->id, NULL); @@ -67,8 +86,9 @@ void Decoder::init_decoder() srd_inst_probe_set_all(_decoder_inst, probes); } -void Decoder::clear_snapshots() +void Decoder::decode_proc(shared_ptr data) { + (void)data; } } // namespace data