From bdc5c3b09d09781aa50ae3b128b2a7c6e2a53d5b Mon Sep 17 00:00:00 2001 From: Joel Holdsworth Date: Sun, 16 Feb 2014 11:01:30 +0000 Subject: [PATCH] Added a reference to the SigSession in DecoderStack --- pv/data/decoderstack.cpp | 4 +++- pv/data/decoderstack.h | 6 +++++- pv/sigsession.cpp | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pv/data/decoderstack.cpp b/pv/data/decoderstack.cpp index 9707d8d..2c68ef8 100644 --- a/pv/data/decoderstack.cpp +++ b/pv/data/decoderstack.cpp @@ -58,7 +58,9 @@ const int64_t DecoderStack::DecodeChunkLength = 4096; mutex DecoderStack::_global_decode_mutex; -DecoderStack::DecoderStack(const srd_decoder *const dec) : +DecoderStack::DecoderStack(pv::SigSession &session, + const srd_decoder *const dec) : + _session(session), _samples_decoded(0) { _stack.push_back(shared_ptr( diff --git a/pv/data/decoderstack.h b/pv/data/decoderstack.h index 339c1e0..6391e6a 100644 --- a/pv/data/decoderstack.h +++ b/pv/data/decoderstack.h @@ -45,6 +45,8 @@ class TwoDecoderStack; namespace pv { +class SigSession; + namespace view { class LogicSignal; } @@ -68,7 +70,8 @@ private: static const int64_t DecodeChunkLength; public: - DecoderStack(const srd_decoder *const decoder); + DecoderStack(pv::SigSession &_session, + const srd_decoder *const decoder); virtual ~DecoderStack(); @@ -106,6 +109,7 @@ signals: void new_decode_data(); private: + pv::SigSession &_session; /** * This mutex prevents more than one decode operation occuring diff --git a/pv/sigsession.cpp b/pv/sigsession.cpp index cbb3192..92118b4 100644 --- a/pv/sigsession.cpp +++ b/pv/sigsession.cpp @@ -215,7 +215,7 @@ bool SigSession::add_decoder(srd_decoder *const dec) // Create the decoder decoder_stack = shared_ptr( - new data::DecoderStack(dec)); + new data::DecoderStack(*this, dec)); // Make a list of all the probes std::vector all_probes; -- 2.30.2