X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdevice%2Fsessionfile.cpp;fp=pv%2Fdevice%2Fsessionfile.cpp;h=0000000000000000000000000000000000000000;hb=e8d009288de28cb194bc7964f96677c2baf900c9;hp=a2810d421913c7017a57a6d839f665d0eac87cc2;hpb=87b79835014a386fb51b52bc993dbb693bd27197;p=pulseview.git diff --git a/pv/device/sessionfile.cpp b/pv/device/sessionfile.cpp deleted file mode 100644 index a2810d42..00000000 --- a/pv/device/sessionfile.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/* - * This file is part of the PulseView project. - * - * Copyright (C) 2014 Joel Holdsworth - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include - -#include "sessionfile.h" - -#include - -namespace pv { -namespace device { - -SessionFile::SessionFile(const std::string &path) : - File(path), - _sdi(NULL) -{ -} - -sr_dev_inst* SessionFile::dev_inst() const -{ - return _sdi; -} - -void SessionFile::use(SigSession *owner) throw(QString) -{ - assert(!_sdi); - - if (sr_session_load(_path.c_str(), &SigSession::_sr_session) != SR_OK) - throw tr("Failed to open file.\n"); - - GSList *devlist = NULL; - sr_session_dev_list(SigSession::_sr_session, &devlist); - - if (!devlist || !devlist->data) { - if (devlist) - g_slist_free(devlist); - throw tr("Failed to start session."); - } - - _sdi = (sr_dev_inst*)devlist->data; - g_slist_free(devlist); - - File::use(owner); -} - -void SessionFile::release() -{ - if (!_owner) - return; - - assert(_sdi); - File::release(); - sr_dev_close(_sdi); - sr_dev_clear(_sdi->driver); - sr_session_destroy(SigSession::_sr_session); - _sdi = NULL; -} - -} // device -} // pv