X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdata%2Fmathsignal.hpp;h=76427c56e73079a4757d9b468e32b947478bd0a7;hb=36e62b1700d580adde53c8f4489037f0071fa6a0;hp=b554a07eeb84ffdf9cd3bda57ef972c88bc0013c;hpb=79c0e0452fb025da84af9cc0953b85631af343f9;p=pulseview.git diff --git a/pv/data/mathsignal.hpp b/pv/data/mathsignal.hpp index b554a07e..76427c56 100644 --- a/pv/data/mathsignal.hpp +++ b/pv/data/mathsignal.hpp @@ -43,7 +43,7 @@ namespace data { class SignalBase; template -struct sig_sample; +struct fnc_sample; struct signal_data { signal_data(const shared_ptr _sb) : @@ -75,7 +75,7 @@ public: void set_expression(QString expression); private: - virtual void set_error_message(QString msg); + void set_error(uint8_t type, QString msg); /** * Returns the number of samples that can be worked on, @@ -98,6 +98,8 @@ private: signal_data* signal_from_name(const std::string& name); void update_signal_sample(signal_data* sig_data, uint32_t segment_id, uint64_t sample_num); + bool all_input_signals_enabled(QString &disabled_signals) const; + Q_SIGNALS: void samples_cleared(); @@ -112,6 +114,8 @@ private Q_SLOTS: void on_capture_state_changed(int state); void on_data_received(); + void on_enabled_changed(); + private: pv::Session &session_; @@ -122,6 +126,8 @@ private: QString expression_; + uint8_t error_type_; + mutable mutex input_mutex_; mutable condition_variable gen_input_cond_; @@ -133,10 +139,10 @@ private: exprtk::parser *exprtk_parser_; double exprtk_current_time_, exprtk_current_sample_; - sig_sample* fnc_sig_sample_; + fnc_sample* fnc_sample_; // Give sig_sample access to the private helper functions - friend struct sig_sample; + friend struct fnc_sample; }; } // namespace data