X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fsegment.hpp;h=f5a00c9581530529044cb33d283f52cbb7c1d162;hp=18f1aed77192978ce1a87cbb86aaf7b929672f73;hb=f4ab4b5c657e5613caba82feaa81a8a400e4f331;hpb=85a702806a15852f3684645dffdc38cb30274481 diff --git a/pv/data/segment.hpp b/pv/data/segment.hpp index 18f1aed..f5a00c9 100644 --- a/pv/data/segment.hpp +++ b/pv/data/segment.hpp @@ -27,6 +27,8 @@ #include #include +#include + using std::recursive_mutex; using std::vector; @@ -49,11 +51,12 @@ namespace data { typedef struct { uint64_t sample_index, chunk_num, chunk_offs; uint8_t* chunk; - uint8_t* value; -} SegmentRawDataIterator; +} SegmentDataIterator; -class Segment +class Segment : public QObject { + Q_OBJECT + private: static const uint64_t MaxChunkSize; @@ -83,9 +86,11 @@ protected: void append_samples(void *data, uint64_t samples); void get_raw_samples(uint64_t start, uint64_t count, uint8_t *dest) const; - SegmentRawDataIterator* begin_raw_sample_iteration(uint64_t start); - void continue_raw_sample_iteration(SegmentRawDataIterator* it, uint64_t increase); - void end_raw_sample_iteration(SegmentRawDataIterator* it); + SegmentDataIterator* begin_sample_iteration(uint64_t start); + void continue_sample_iteration(SegmentDataIterator* it, uint64_t increase); + void end_sample_iteration(SegmentDataIterator* it); + uint8_t* get_iterator_value(SegmentDataIterator* it); + uint64_t get_iterator_valid_length(SegmentDataIterator* it); uint32_t segment_id_; mutable recursive_mutex mutex_;