]> sigrok.org Git - pulseview.git/blobdiff - pv/devices/sessionfile.cpp
main window: Prefer the user specified device in new sessions
[pulseview.git] / pv / devices / sessionfile.cpp
index d45b9fa492832bc147c7ea7aadcc8e06c446d263..0ba64a9b48cf6ffa4c2e7843bb95cf0a739dea7e 100644 (file)
@@ -14,8 +14,7 @@
  * 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
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <libsigrokcxx/libsigrokcxx.hpp>
 
 #include "sessionfile.hpp"
 
+using std::shared_ptr;
+using std::string;
+
 namespace pv {
 namespace devices {
 
-SessionFile::SessionFile(const std::shared_ptr<sigrok::Context> context,
-       const std::string &file_name) :
+SessionFile::SessionFile(const shared_ptr<sigrok::Context> context,
+       const string &file_name) :
        File(file_name),
-       context_(context) {
+       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