X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdevices%2Fsessionfile.cpp;h=e6920ff5e299a6a5b5e437b2768d3d020549f2e0;hb=812c0e3592e51946947b55c54b906bf4a0cb30e9;hp=4ca982ae7cf4f3897dbf83778faecf3ff0a08dfd;hpb=da30ecb7e72bd2547e524258efa5ec642988b70b;p=pulseview.git diff --git a/pv/devices/sessionfile.cpp b/pv/devices/sessionfile.cpp index 4ca982ae..e6920ff5 100644 --- a/pv/devices/sessionfile.cpp +++ b/pv/devices/sessionfile.cpp @@ -20,21 +20,31 @@ #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