+
+private:
+ DeviceManager &device_manager_;
+ shared_ptr<devices::Device> device_;
+ QString default_name_, name_;
+
+ list< shared_ptr<views::ViewBase> > views_;
+ shared_ptr<pv::views::ViewBase> main_view_;
+
+ shared_ptr<pv::toolbars::MainBar> main_bar_;
+
+ mutable mutex sampling_mutex_; //!< Protects access to capture_state_.
+ capture_state capture_state_;
+
+ unordered_set< shared_ptr<data::SignalBase> > signalbases_;
+ unordered_set< shared_ptr<data::SignalData> > all_signal_data_;
+
+ /// trigger_list_ contains pairs of <segment_id, timestamp> values.
+ vector< std::pair<uint32_t, util::Timestamp> > trigger_list_;
+
+ mutable recursive_mutex data_mutex_;
+ shared_ptr<data::Logic> logic_data_;
+ uint64_t cur_samplerate_;
+ shared_ptr<data::LogicSegment> cur_logic_segment_;
+ map< shared_ptr<sigrok::Channel>, shared_ptr<data::AnalogSegment> >
+ cur_analog_segments_;
+ int32_t highest_segment_id_;
+
+ std::thread sampling_thread_;
+
+ bool out_of_memory_;
+ bool data_saved_;
+ bool frame_began_;