X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdevices%2Fsessionfile.cpp;h=8a583eeba0ffb08b8015da6fd5f6890d77488c7f;hb=04394ded8776d2163c1e815ccc8170b81d76b028;hp=4ca982ae7cf4f3897dbf83778faecf3ff0a08dfd;hpb=da30ecb7e72bd2547e524258efa5ec642988b70b;p=pulseview.git diff --git a/pv/devices/sessionfile.cpp b/pv/devices/sessionfile.cpp index 4ca982ae..8a583eeb 100644 --- a/pv/devices/sessionfile.cpp +++ b/pv/devices/sessionfile.cpp @@ -20,21 +20,34 @@ #include +#include + #include "sessionfile.hpp" namespace pv { namespace devices { -SessionFile::SessionFile(const std::shared_ptr &context, +SessionFile::SessionFile(const std::shared_ptr context, const std::string &file_name) : - context_(context), - file_name_(file_name) { + File(file_name), + context_(context) +{ } -void SessionFile::create() { +void SessionFile::open() +{ + if (session_) + close(); + session_ = context_->load_session(file_name_); device_ = session_->devices()[0]; } +void SessionFile::close() +{ + if (session_) + session_->remove_devices(); +} + } // namespace devices } // namespace pv