SignalData: Moved samplerate into Snapshot
[pulseview.git] / pv / storesession.cpp
index dbe04b2c00953897bf63ad5d1f8b2a0480836980..af599db00e769c6d17687116281b400b56420f05 100644 (file)
 
 #include <cassert>
 
-#include "storesession.h"
+#include "storesession.hpp"
 
-#include <pv/sigsession.h>
-#include <pv/data/logic.h>
-#include <pv/data/logicsnapshot.h>
-#include <pv/view/signal.h>
+#include <pv/session.hpp>
+#include <pv/data/logic.hpp>
+#include <pv/data/logicsnapshot.hpp>
+#include <pv/view/signal.hpp>
 
 #include <libsigrok/libsigrok.hpp>
 
@@ -53,7 +53,7 @@ namespace pv {
 const size_t StoreSession::BlockSize = 1024 * 1024;
 
 StoreSession::StoreSession(const std::string &file_name,
-       const SigSession &session) :
+       const Session &session) :
        file_name_(file_name),
        session_(session),
        interrupt_(false),
@@ -108,7 +108,7 @@ bool StoreSession::start()
 
        // Get the snapshot
        const deque< shared_ptr<data::LogicSnapshot> > &snapshots =
-               data->get_snapshots();
+               data->logic_snapshots();
 
        if (snapshots.empty()) {
                error_ = tr("No snapshots to save.");
@@ -127,8 +127,8 @@ bool StoreSession::start()
                        {{"filename",
                                Glib::Variant<Glib::ustring>::create(file_name_)}});
                auto meta = context->create_meta_packet(
-                       {{ConfigKey::SAMPLERATE,
-                               Glib::Variant<guint64>::create(data->samplerate())}});
+                       {{ConfigKey::SAMPLERATE, Glib::Variant<guint64>::create(
+                               snapshot->samplerate())}});
                output_->receive(meta);
        } catch (Error error) {
                error_ = tr("Error while saving.");
@@ -198,6 +198,9 @@ void StoreSession::store_proc(shared_ptr<data::LogicSnapshot> snapshot)
                units_stored_ = start_sample >> progress_scale;
        }
 
+       // Zeroing the progress variables indicates completion
+       units_stored_ = unit_count_ = 0;
+
        progress_updated();
 
        output_.reset();