]> sigrok.org Git - pulseview.git/blobdiff - pv/data/mathsignal.hpp
Session: Fix issue #67 by improving error handling
[pulseview.git] / pv / data / mathsignal.hpp
index 76427c56e73079a4757d9b468e32b947478bd0a7..98adbe8099b57058ba1c1a3e4fa243e49b8b7439 100644 (file)
 #ifndef PULSEVIEW_PV_DATA_MATHSIGNAL_HPP
 #define PULSEVIEW_PV_DATA_MATHSIGNAL_HPP
 
+#define exprtk_disable_rtl_io_file /* Potential security issue, doubt anyone would use those anyway */
+#define exprtk_disable_rtl_vecops  /* Vector ops are rather useless for math channels */
+#define exprtk_disable_caseinsensitivity /* So that we can have both 't' and 'T' */
+
 #include <limits>
 
 #include <QString>
@@ -91,7 +95,7 @@ private:
        void reset_generation();
        virtual void begin_generation();
 
-       void generate_samples(uint32_t segment_id, const uint64_t start_sample,
+       uint64_t generate_samples(uint32_t segment_id, const uint64_t start_sample,
                const int64_t sample_count);
        void generation_proc();
 
@@ -101,13 +105,6 @@ private:
        bool all_input_signals_enabled(QString &disabled_signals) const;
 
 Q_SIGNALS:
-       void samples_cleared();
-
-       void samples_added(uint64_t segment_id, uint64_t start_sample,
-               uint64_t end_sample);
-
-       void min_max_changed(float min, float max);
-
        void expression_changed(QString expression);
 
 private Q_SLOTS:
@@ -122,6 +119,7 @@ private:
        uint64_t custom_sample_rate_;
        uint64_t custom_sample_count_;
        bool use_custom_sample_rate_, use_custom_sample_count_;
+       uint64_t generation_chunk_size_;
        map<std::string, signal_data> input_signals_;
 
        QString expression_;