X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fstoresession.h;h=d365730e5217adc3cb352a30770cc346884d8136;hb=7c4b01a19188234695a05f5d2ed2be290eca5cba;hp=4c9eae0160d7588a3543062528610d775dea0d3c;hpb=3b68d03ddae96edb38a80f31bf6a990bde21cd1d;p=pulseview.git diff --git a/pv/storesession.h b/pv/storesession.h index 4c9eae01..d365730e 100644 --- a/pv/storesession.h +++ b/pv/storesession.h @@ -30,6 +30,10 @@ #include +namespace sigrok { +class Output; +} + namespace pv { class SigSession; @@ -51,7 +55,7 @@ public: ~StoreSession(); - std::pair progress() const; + std::pair progress() const; const QString& error() const; @@ -64,20 +68,22 @@ public: private: void store_proc(std::shared_ptr snapshot); -signals: +Q_SIGNALS: void progress_updated(); private: const std::string _file_name; const SigSession &_session; + std::shared_ptr _output; + std::thread _thread; std::atomic _interrupt; + std::atomic _units_stored, _unit_count; + mutable std::mutex _mutex; - uint64_t _units_stored; - uint64_t _unit_count; QString _error; };