projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Removed auto_ptr wrapping of _sampling_thread
[pulseview.git]
/
pv
/
sigsession.cpp
diff --git
a/pv/sigsession.cpp
b/pv/sigsession.cpp
index da5d3f01fecdfbea8f36d80aa89a2ab028105d80..cad702d810c923f818c363940c69a78f83c099ab 100644
(file)
--- a/
pv/sigsession.cpp
+++ b/
pv/sigsession.cpp
@@
-59,9
+59,7
@@
SigSession::~SigSession()
{
stop_capture();
{
stop_capture();
- if (_sampling_thread.get())
- _sampling_thread->join();
- _sampling_thread.reset();
+ _sampling_thread.join();
if (_sdi)
_device_manager.release_device(_sdi);
if (_sdi)
_device_manager.release_device(_sdi);
@@
-116,9
+114,9
@@
void SigSession::load_file(const string &name,
update_signals(sdi);
read_sample_rate(sdi);
update_signals(sdi);
read_sample_rate(sdi);
- _sampling_thread
.reset(new
boost::thread(
+ _sampling_thread
=
boost::thread(
&SigSession::load_session_thread_proc, this,
&SigSession::load_session_thread_proc, this,
- error_handler)
)
;
+ error_handler);
} else {
sr_input *in = NULL;
} else {
sr_input *in = NULL;
@@
-130,11
+128,10
@@
void SigSession::load_file(const string &name,
update_signals(in->sdi);
read_sample_rate(in->sdi);
update_signals(in->sdi);
read_sample_rate(in->sdi);
- _sampling_thread
.reset(new
boost::thread(
+ _sampling_thread
=
boost::thread(
&SigSession::load_input_thread_proc, this,
&SigSession::load_input_thread_proc, this,
- name, in, error_handler)
)
;
+ name, in, error_handler);
}
}
-
}
SigSession::capture_state SigSession::get_capture_state() const
}
SigSession::capture_state SigSession::get_capture_state() const
@@
-169,9
+166,9
@@
void SigSession::start_capture(uint64_t record_length,
}
// Begin the session
}
// Begin the session
- _sampling_thread
.reset(new
boost::thread(
+ _sampling_thread
=
boost::thread(
&SigSession::sample_thread_proc, this, _sdi,
&SigSession::sample_thread_proc, this, _sdi,
- record_length, error_handler)
)
;
+ record_length, error_handler);
}
void SigSession::stop_capture()
}
void SigSession::stop_capture()
@@
-182,12
+179,10
@@
void SigSession::stop_capture()
sr_session_stop();
// Check that sampling stopped
sr_session_stop();
// Check that sampling stopped
- if (_sampling_thread.get())
- _sampling_thread->join();
- _sampling_thread.reset();
+ _sampling_thread.join();
}
}
-vector< shared_ptr<view::Signal> > SigSession::get_signals()
+vector< shared_ptr<view::Signal> > SigSession::get_signals()
const
{
lock_guard<mutex> lock(_signals_mutex);
return _signals;
{
lock_guard<mutex> lock(_signals_mutex);
return _signals;
@@
-198,12
+193,14
@@
boost::shared_ptr<data::Logic> SigSession::get_data()
return _logic_data;
}
return _logic_data;
}
-void SigSession::add_decoder(srd_decoder *const dec)
+void SigSession::add_decoder(srd_decoder *const dec,
+ std::map<const srd_probe*,
+ boost::shared_ptr<view::Signal> > probes)
{
{
lock_guard<mutex> lock(_signals_mutex);
shared_ptr<data::Decoder> decoder(
{
{
lock_guard<mutex> lock(_signals_mutex);
shared_ptr<data::Decoder> decoder(
- new data::Decoder(dec));
+ new data::Decoder(dec
, probes
));
shared_ptr<view::DecodeSignal> d(
new view::DecodeSignal(*this, decoder));
_decode_traces.push_back(d);
shared_ptr<view::DecodeSignal> d(
new view::DecodeSignal(*this, decoder));
_decode_traces.push_back(d);
@@
-211,6
+208,12
@@
void SigSession::add_decoder(srd_decoder *const dec)
signals_changed();
}
signals_changed();
}
+vector< shared_ptr<view::DecodeSignal> > SigSession::get_decode_signals() const
+{
+ lock_guard<mutex> lock(_signals_mutex);
+ return _decode_traces;
+}
+
void SigSession::set_capture_state(capture_state state)
{
lock_guard<mutex> lock(_sampling_mutex);
void SigSession::set_capture_state(capture_state state)
{
lock_guard<mutex> lock(_sampling_mutex);
@@
-523,6
+526,8
@@
void SigSession::feed_in_meta(const sr_dev_inst *sdi,
break;
}
}
break;
}
}
+
+ signals_changed();
}
void SigSession::feed_in_logic(const sr_datafeed_logic &logic)
}
void SigSession::feed_in_logic(const sr_datafeed_logic &logic)