]> sigrok.org Git - pulseview.git/blobdiff - pv/data/decoder.cpp
Added empty decoder thread
[pulseview.git] / pv / data / decoder.cpp
index 65854ee056b9384c1c0a7a774de78ee9fdb3f1b3..e1be16e3ea14898fcea05f0f9f34b48d101e04c0 100644 (file)
@@ -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<data::Logic>());
+}
+
+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::Logic> data)
 {
+       (void)data;
 }
 
 } // namespace data