]> sigrok.org Git - pulseview.git/blobdiff - pv/storesession.cpp
build: Only try to read the VERSION file if it exists
[pulseview.git] / pv / storesession.cpp
index 92f64f5ba12a328b56bad5728ec8db14c3000b82..1a27e5654dd9e8e66ec96fb0d773a96ad83536f0 100644 (file)
 
 #include "storesession.hpp"
 
+#include <pv/devicemanager.hpp>
 #include <pv/session.hpp>
 #include <pv/data/logic.hpp>
 #include <pv/data/logicsegment.hpp>
+#include <pv/devices/device.hpp>
 #include <pv/view/signal.hpp>
 
 #include <libsigrokcxx/libsigrokcxx.hpp>
@@ -45,6 +47,7 @@ using std::set;
 using std::shared_ptr;
 using std::string;
 using std::thread;
+using std::unordered_set;
 using std::vector;
 
 using Glib::VariantBase;
@@ -92,7 +95,8 @@ bool StoreSession::start()
                session_.get_data();
 
        shared_lock<shared_mutex> lock(session_.signals_mutex());
-       const vector< shared_ptr<view::Signal> > &sigs(session_.signals());
+       const unordered_set< shared_ptr<view::Signal> > &sigs(
+               session_.signals());
 
        // Check we have logic data
        if (data_set.empty() || sigs.empty()) {
@@ -128,8 +132,8 @@ bool StoreSession::start()
 
        // Begin storing
        try {
-               auto context = session_.session()->context();
-               auto device = session_.device();
+               const auto context = session_.device_manager().context();
+               auto device = session_.device()->device();
 
                map<string, Glib::VariantBase> options = options_;
 
@@ -204,7 +208,7 @@ void StoreSession::store_proc(shared_ptr<data::LogicSegment> segment)
                size_t length = end_sample - start_sample;
 
                try {
-                       auto context = session_.session()->context();
+                       const auto context = session_.device_manager().context();
                        auto logic = context->create_logic_packet(data, length, unit_size);
                        const string data = output_->receive(logic);
                        if (output_stream_.is_open())