#include <assert.h>
+#include <stdexcept>
+
#include <sys/stat.h>
#include <QDebug>
return _logic_data;
}
-void SigSession::add_decoder(srd_decoder *const dec,
+bool SigSession::add_decoder(srd_decoder *const dec,
std::map<const srd_probe*,
- boost::shared_ptr<view::Signal> > probes,
+ boost::shared_ptr<view::LogicSignal> > probes,
GHashTable *options)
{
+ try
{
lock_guard<mutex> lock(_signals_mutex);
_decode_traces.size()));
_decode_traces.push_back(d);
}
+ catch(std::runtime_error e)
+ {
+ return false;
+ }
+
signals_changed();
+
+ return true;
}
vector< shared_ptr<view::DecodeSignal> > SigSession::get_decode_signals() const
// Read out the sample rate
if(sdi->driver)
{
- const int ret = sr_config_get(sdi->driver,
- SR_CONF_SAMPLERATE, &gvar, sdi);
+ const int ret = sr_config_get(sdi->driver, sdi, NULL,
+ SR_CONF_SAMPLERATE, &gvar);
if (ret != SR_OK) {
qDebug("Failed to get samplerate\n");
return;
}
// Set the sample limit
- if (sr_config_set(sdi, SR_CONF_LIMIT_SAMPLES,
+ if (sr_config_set(sdi, NULL, SR_CONF_LIMIT_SAMPLES,
g_variant_new_uint64(record_length)) != SR_OK) {
error_handler(tr("Failed to configure "
"time-based sample limit."));