X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fsegment.hpp;h=9ea9629dcbd0d8e294b07f46c81573a9fc2c4681;hp=62750c11c9c62e0d0de0f948e8d4896417970a22;hb=9009d9b5ca2e2039725040060c0fec19e7bc3caa;hpb=558ad6ceb934ab7406d286c1a4ae08da4aba1448 diff --git a/pv/data/segment.hpp b/pv/data/segment.hpp index 62750c11..9ea9629d 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; @@ -52,13 +54,15 @@ typedef struct { uint8_t* value; } SegmentRawDataIterator; -class Segment +class Segment : public QObject { + Q_OBJECT + private: static const uint64_t MaxChunkSize; public: - Segment(uint64_t samplerate, unsigned int unit_size); + Segment(uint32_t segment_id, uint64_t samplerate, unsigned int unit_size); virtual ~Segment(); @@ -71,6 +75,8 @@ public: unsigned int unit_size() const; + uint32_t segment_id() const; + void set_complete(); bool is_complete() const; @@ -85,6 +91,7 @@ protected: void continue_raw_sample_iteration(SegmentRawDataIterator* it, uint64_t increase); void end_raw_sample_iteration(SegmentRawDataIterator* it); + uint32_t segment_id_; mutable recursive_mutex mutex_; vector data_chunks_; uint8_t* current_chunk_;