]> sigrok.org Git - pulseview.git/blobdiff - pv/session.hpp
Session: Use ordered container to preserve DecodeTrace order
[pulseview.git] / pv / session.hpp
index 211fe1b32fcf2bba13e1963bf5b67c9066cba0df..095c4dd0217dd51f490c3d4d99bbc3d952b773b9 100644 (file)
@@ -38,7 +38,7 @@
 #include <QObject>
 #include <QSettings>
 #include <QString>
-#include <QTime>
+#include <QElapsedTimer>
 
 #ifdef ENABLE_FLOW
 #include <gstreamermm.h>
@@ -50,7 +50,6 @@
 
 
 using std::function;
-using std::list;
 using std::map;
 using std::mutex;
 using std::recursive_mutex;
@@ -139,7 +138,7 @@ public:
 
        void set_name(QString name);
 
-       const list< shared_ptr<views::ViewBase> > views() const;
+       const vector< shared_ptr<views::ViewBase> > views() const;
 
        shared_ptr<views::ViewBase> main_view() const;
 
@@ -172,6 +171,8 @@ public:
 
        void set_default_device();
 
+       bool using_file_device() const;
+
        void load_init_file(const string &file_name, const string &format,
                const string &setup_file_name);
 
@@ -198,7 +199,7 @@ public:
 
        bool has_view(shared_ptr<views::ViewBase> view);
 
-       const unordered_set< shared_ptr<data::SignalBase> > signalbases() const;
+       const vector< shared_ptr<data::SignalBase> > signalbases() const;
 
        bool all_segments_complete(uint32_t segment_id) const;
 
@@ -264,8 +265,7 @@ Q_SIGNALS:
 
        void data_received();
 
-       void add_view(const QString &title, views::ViewType type,
-               Session *session);
+       void add_view(views::ViewType type, Session *session);
 
 public Q_SLOTS:
        void on_data_saved();
@@ -279,7 +279,7 @@ private:
        shared_ptr<devices::Device> device_;
        QString default_name_, name_;
 
-       list< shared_ptr<views::ViewBase> > views_;
+       vector< shared_ptr<views::ViewBase> > views_;
        shared_ptr<pv::views::ViewBase> main_view_;
 
        shared_ptr<pv::toolbars::MainBar> main_bar_;
@@ -287,7 +287,7 @@ private:
        mutable mutex sampling_mutex_; //!< Protects access to capture_state_.
        capture_state capture_state_;
 
-       unordered_set< shared_ptr<data::SignalBase> > signalbases_;
+       vector< shared_ptr<data::SignalBase> > signalbases_;
        unordered_set< shared_ptr<data::SignalData> > all_signal_data_;
 
        /// trigger_list_ contains pairs of <segment_id, timestamp> values.
@@ -307,7 +307,7 @@ private:
        bool data_saved_;
        bool frame_began_;
 
-       QTime acq_time_;
+       QElapsedTimer acq_time_;
 
 #ifdef ENABLE_FLOW
        RefPtr<Pipeline> pipeline_;