projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
SigSession: Made _sr_session non-static
[pulseview.git]
/
pv
/
sigsession.cpp
diff --git
a/pv/sigsession.cpp
b/pv/sigsession.cpp
index ce74829401486f0c6597486398f1cf68e9c78dd3..5a794417f2112754f6cf0cc566202b452b49c5d8 100644
(file)
--- a/
pv/sigsession.cpp
+++ b/
pv/sigsession.cpp
@@
-78,17
+78,11
@@
using Glib::VariantBase;
using Glib::Variant;
namespace pv {
using Glib::Variant;
namespace pv {
-
-// TODO: This should not be necessary
-shared_ptr<Session> SigSession::_sr_session = nullptr;
-
SigSession::SigSession(DeviceManager &device_manager) :
_device_manager(device_manager),
SigSession::SigSession(DeviceManager &device_manager) :
_device_manager(device_manager),
+ _session(device_manager.context()->create_session()),
_capture_state(Stopped)
{
_capture_state(Stopped)
{
- // TODO: This should not be necessary
- _sr_session = device_manager.context()->create_session();
-
set_default_device();
}
set_default_device();
}
@@
-98,6
+92,11
@@
SigSession::~SigSession()
stop_capture();
}
stop_capture();
}
+const shared_ptr<sigrok::Session>& SigSession::session() const
+{
+ return _session;
+}
+
shared_ptr<Device> SigSession::device() const
{
return _device;
shared_ptr<Device> SigSession::device() const
{
return _device;
@@
-114,15
+113,15
@@
void SigSession::set_device(shared_ptr<Device> device)
auto prev_session_device = dynamic_pointer_cast<SessionDevice>(_device);
if (_device) {
auto prev_session_device = dynamic_pointer_cast<SessionDevice>(_device);
if (_device) {
- _s
r_s
ession->remove_datafeed_callbacks();
+ _session->remove_datafeed_callbacks();
if (!prev_session_device) {
_device->close();
if (!prev_session_device) {
_device->close();
- _s
r_s
ession->remove_devices();
+ _session->remove_devices();
}
}
if (session_device)
}
}
if (session_device)
- _s
r_s
ession = session_device->parent();
+ _session = session_device->parent();
_device = device;
_decode_traces.clear();
_device = device;
_decode_traces.clear();
@@
-130,11
+129,11
@@
void SigSession::set_device(shared_ptr<Device> device)
if (device) {
if (!session_device)
{
if (device) {
if (!session_device)
{
- _s
r_s
ession = _device_manager.context()->create_session();
+ _session = _device_manager.context()->create_session();
device->open();
device->open();
- _s
r_s
ession->add_device(device);
+ _session->add_device(device);
}
}
- _s
r_s
ession->add_datafeed_callback([=]
+ _session->add_datafeed_callback([=]
(shared_ptr<Device> device, shared_ptr<Packet> packet) {
data_feed_in(device, packet);
});
(shared_ptr<Device> device, shared_ptr<Packet> packet) {
data_feed_in(device, packet);
});
@@
-144,10
+143,10
@@
void SigSession::set_device(shared_ptr<Device> device)
void SigSession::set_file(const string &name)
{
void SigSession::set_file(const string &name)
{
- _s
r_s
ession = _device_manager.context()->load_session(name);
- _device = _s
r_s
ession->devices()[0];
+ _session = _device_manager.context()->load_session(name);
+ _device = _session->devices()[0];
_decode_traces.clear();
_decode_traces.clear();
- _s
r_s
ession->add_datafeed_callback([=]
+ _session->add_datafeed_callback([=]
(shared_ptr<Device> device, shared_ptr<Packet> packet) {
data_feed_in(device, packet);
});
(shared_ptr<Device> device, shared_ptr<Packet> packet) {
data_feed_in(device, packet);
});
@@
-211,7
+210,7
@@
void SigSession::start_capture(function<void (const QString)> error_handler)
void SigSession::stop_capture()
{
if (get_capture_state() != Stopped)
void SigSession::stop_capture()
{
if (get_capture_state() != Stopped)
- _s
r_s
ession->stop();
+ _session->stop();
// Check that sampling stopped
if (_sampling_thread.joinable())
// Check that sampling stopped
if (_sampling_thread.joinable())
@@
-421,16
+420,16
@@
void SigSession::sample_thread_proc(shared_ptr<Device> device,
read_sample_rate(device);
try {
read_sample_rate(device);
try {
- _s
r_s
ession->start();
+ _session->start();
} catch(Error e) {
error_handler(e.what());
return;
}
} catch(Error e) {
error_handler(e.what());
return;
}
- set_capture_state(_s
r_s
ession->trigger() ?
+ set_capture_state(_session->trigger() ?
AwaitingTrigger : Running);
AwaitingTrigger : Running);
- _s
r_s
ession->run();
+ _session->run();
set_capture_state(Stopped);
// Confirm that SR_DF_END was received
set_capture_state(Stopped);
// Confirm that SR_DF_END was received