X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fdecodesignal.hpp;h=cdd061a9769a45484170bd8e69b82a1b131443b7;hp=f9b866e27e583ce66b593516e6983e55937477ba;hb=946b52e1f0e0520415c3653cc6ea9d083718f76d;hpb=9f97b3576f527239594ea0accb82a4087147c746 diff --git a/pv/data/decodesignal.hpp b/pv/data/decodesignal.hpp index f9b866e2..cdd061a9 100644 --- a/pv/data/decodesignal.hpp +++ b/pv/data/decodesignal.hpp @@ -20,6 +20,7 @@ #ifndef PULSEVIEW_PV_DATA_DECODESIGNAL_HPP #define PULSEVIEW_PV_DATA_DECODESIGNAL_HPP +#include #include #include @@ -27,8 +28,10 @@ #include #include +#include using std::list; +using std::unordered_set; using std::vector; using std::shared_ptr; @@ -62,7 +65,8 @@ class DecodeSignal : public SignalBase Q_OBJECT public: - DecodeSignal(shared_ptr decoder_stack); + DecodeSignal(shared_ptr decoder_stack, + const unordered_set< shared_ptr > &all_signals); virtual ~DecodeSignal(); bool is_decode_signal() const; @@ -73,13 +77,20 @@ public: void remove_decoder(int index); bool toggle_decoder_visibility(int index); + void begin_decode(); QString error_message() const; const list get_channels() const; + void auto_assign_signals(); void assign_signal(const uint16_t channel_id, const SignalBase *signal); void set_initial_pin_state(const uint16_t channel_id, const int init_state); + double samplerate() const; + const pv::util::Timestamp& start_time() const; + int64_t sample_count() const; + int64_t samples_decoded() const; + vector visible_rows() const; /** @@ -102,6 +113,7 @@ private Q_SLOTS: private: shared_ptr decoder_stack_; + const unordered_set< shared_ptr > &all_signals_; list channels_; };