* 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