X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdata%2Flogic.hpp;h=b5e532c45e9a0523d13991f39fb8c653d498eca3;hb=36e62b1700d580adde53c8f4489037f0071fa6a0;hp=c80f0151f8957122d8a87687a75c535b083d196f;hpb=6f925ba9d6faf1077b73c5a5808259576081716a;p=pulseview.git diff --git a/pv/data/logic.hpp b/pv/data/logic.hpp index c80f0151..b5e532c4 100644 --- a/pv/data/logic.hpp +++ b/pv/data/logic.hpp @@ -21,6 +21,7 @@ #define PULSEVIEW_PV_DATA_LOGIC_HPP #include "signaldata.hpp" +#include "segment.hpp" #include @@ -35,7 +36,7 @@ namespace data { class LogicSegment; -class Logic : public QObject, public SignalData +class Logic : public SignalData { Q_OBJECT @@ -47,23 +48,31 @@ public: void push_segment(shared_ptr &segment); const deque< shared_ptr >& logic_segments() const; + deque< shared_ptr >& logic_segments(); vector< shared_ptr > segments() const; + uint32_t get_segment_count() const; + void clear(); + void set_samplerate(double value); + + double get_samplerate() const; + uint64_t max_sample_count() const; - void notify_samples_added(QObject* segment, uint64_t start_sample, + void notify_samples_added(shared_ptr segment, uint64_t start_sample, uint64_t end_sample); Q_SIGNALS: void samples_cleared(); - void samples_added(QObject* segment, uint64_t start_sample, + void samples_added(SharedPtrToSegment segment, uint64_t start_sample, uint64_t end_sample); private: + double samplerate_; const unsigned int num_channels_; deque< shared_ptr > segments_; };