X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdata%2Fanalogsegment.hpp;h=846837ce75f47c2df2afedeaae64f9159d3bd53b;hb=e23d7aa0d9980c3c269cbddb4cfbb32350d7425c;hp=8cb4d25b9d78648133a470a8eb9974951b3b4ddc;hpb=b82243f74a175f621af26aabbc0f32e2ecb125fa;p=pulseview.git diff --git a/pv/data/analogsegment.hpp b/pv/data/analogsegment.hpp index 8cb4d25b..846837ce 100644 --- a/pv/data/analogsegment.hpp +++ b/pv/data/analogsegment.hpp @@ -27,6 +27,7 @@ #include +using std::enable_shared_from_this; using std::pair; namespace AnalogSegmentTest { @@ -38,13 +39,7 @@ namespace data { class Analog; -typedef struct { - uint64_t sample_index, chunk_num, chunk_offs; - uint8_t* chunk; - float* value; -} SegmentAnalogDataIterator; - -class AnalogSegment : public QObject, public Segment +class AnalogSegment : public Segment, public enable_shared_from_this { Q_OBJECT @@ -79,7 +74,7 @@ private: static const uint64_t EnvelopeDataUnit; public: - AnalogSegment(Analog& owner, uint64_t samplerate); + AnalogSegment(Analog& owner, uint32_t segment_id, uint64_t samplerate); virtual ~AnalogSegment(); @@ -90,9 +85,7 @@ public: const pair get_min_max() const; - SegmentAnalogDataIterator* begin_sample_iteration(uint64_t start); - void continue_sample_iteration(SegmentAnalogDataIterator* it, uint64_t increase); - void end_sample_iteration(SegmentAnalogDataIterator* it); + float* get_iterator_value_ptr(SegmentDataIterator* it); void get_envelope_section(EnvelopeSection &s, uint64_t start, uint64_t end, float min_length) const;