projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix 'Exception: not applicable' when connecting to hantek-dso
[pulseview.git]
/
pv
/
data
/
decode
/
decoder.cpp
diff --git
a/pv/data/decode/decoder.cpp
b/pv/data/decode/decoder.cpp
index 89d19b3ad7c3ec80dd3c6d2c4f7c73d0f2d5038d..1513b20be5cb70156db3dfe33c43c8c0e4fd594b 100644
(file)
--- a/
pv/data/decode/decoder.cpp
+++ b/
pv/data/decode/decoder.cpp
@@
-18,16
+18,18
@@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <libsigrok/libsigrok.h>
+#include <cassert>
+
+#include <libsigrokcxx/libsigrokcxx.hpp>
#include <libsigrokdecode/libsigrokdecode.h>
#include <libsigrokdecode/libsigrokdecode.h>
-#include "decoder.h"
+#include "decoder.h
pp
"
-#include <pv/view/logicsignal.h>
+#include <pv/view/logicsignal.h
pp
>
-using boost::shared_ptr;
using std::set;
using std::map;
using std::set;
using std::map;
+using std::shared_ptr;
using std::string;
namespace pv {
using std::string;
namespace pv {
@@
-35,63
+37,62
@@
namespace data {
namespace decode {
Decoder::Decoder(const srd_decoder *const dec) :
namespace decode {
Decoder::Decoder(const srd_decoder *const dec) :
-
_decoder
(dec),
-
_shown
(true)
+
decoder_
(dec),
+
shown_
(true)
{
}
Decoder::~Decoder()
{
{
}
Decoder::~Decoder()
{
- for (map<string, GVariant*>::const_iterator i = _options.begin();
- i != _options.end(); i++)
- g_variant_unref((*i).second);
+ for (auto& option : options_)
+ g_variant_unref(option.second);
}
const srd_decoder* Decoder::decoder() const
{
}
const srd_decoder* Decoder::decoder() const
{
- return
_decoder
;
+ return
decoder_
;
}
bool Decoder::shown() const
{
}
bool Decoder::shown() const
{
- return
_shown
;
+ return
shown_
;
}
void Decoder::show(bool show)
{
}
void Decoder::show(bool show)
{
-
_shown
= show;
+
shown_
= show;
}
}
-const map<const srd_
probe
*, shared_ptr<view::LogicSignal> >&
-Decoder::
probe
s() const
+const map<const srd_
channel
*, shared_ptr<view::LogicSignal> >&
+Decoder::
channel
s() const
{
{
- return
_probes
;
+ return
channels_
;
}
}
-void Decoder::set_
probes(std::map<const srd_probe
*,
-
boost::shared_ptr<view::LogicSignal> > probe
s)
+void Decoder::set_
channels(std::map<const srd_channel
*,
+
std::shared_ptr<view::LogicSignal> > channel
s)
{
{
-
_probes = probe
s;
+
channels_ = channel
s;
}
const std::map<std::string, GVariant*>& Decoder::options() const
{
}
const std::map<std::string, GVariant*>& Decoder::options() const
{
- return
_options
;
+ return
options_
;
}
void Decoder::set_option(const char *id, GVariant *value)
{
assert(value);
g_variant_ref(value);
}
void Decoder::set_option(const char *id, GVariant *value)
{
assert(value);
g_variant_ref(value);
-
_options
[id] = value;
+
options_
[id] = value;
}
}
-bool Decoder::have_required_
probe
s() const
+bool Decoder::have_required_
channel
s() const
{
{
- for (GSList *
p = _decoder->probes; p; p = p
->next) {
- const srd_
probe *const probe = (const srd_probe*)p
->data;
- assert(p
robe
);
- if (
_probes.find(probe) == _probes
.end())
+ for (GSList *
l = decoder_->channels; l; l = l
->next) {
+ const srd_
channel *const pdch = (const srd_channel*)l
->data;
+ assert(p
dch
);
+ if (
channels_.find(pdch) == channels_
.end())
return false;
}
return false;
}
@@
-101,11
+102,8
@@
bool Decoder::have_required_probes() const
set< shared_ptr<pv::data::Logic> > Decoder::get_data()
{
set< shared_ptr<pv::data::Logic> > data;
set< shared_ptr<pv::data::Logic> > Decoder::get_data()
{
set< shared_ptr<pv::data::Logic> > data;
- for(map<const srd_probe*, shared_ptr<view::LogicSignal> >::
- const_iterator i = _probes.begin();
- i != _probes.end(); i++)
- {
- shared_ptr<view::LogicSignal> signal((*i).second);
+ for (const auto& channel : channels_) {
+ shared_ptr<view::LogicSignal> signal(channel.second);
assert(signal);
data.insert(signal->logic_data());
}
assert(signal);
data.insert(signal->logic_data());
}
@@
-113,43
+111,38
@@
set< shared_ptr<pv::data::Logic> > Decoder::get_data()
return data;
}
return data;
}
-srd_decoder_inst* Decoder::create_decoder_inst(srd_session *session
, int unit_size
) const
+srd_decoder_inst* Decoder::create_decoder_inst(srd_session *session) const
{
GHashTable *const opt_hash = g_hash_table_new_full(g_str_hash,
g_str_equal, g_free, (GDestroyNotify)g_variant_unref);
{
GHashTable *const opt_hash = g_hash_table_new_full(g_str_hash,
g_str_equal, g_free, (GDestroyNotify)g_variant_unref);
- for (map<string, GVariant*>::const_iterator i = _options.begin();
- i != _options.end(); i++)
- {
- GVariant *const value = (*i).second;
+ for (const auto& option : options_) {
+ GVariant *const value = option.second;
g_variant_ref(value);
g_hash_table_replace(opt_hash, (void*)g_strdup(
g_variant_ref(value);
g_hash_table_replace(opt_hash, (void*)g_strdup(
-
(*i)
.first.c_str()), value);
+
option
.first.c_str()), value);
}
srd_decoder_inst *const decoder_inst = srd_inst_new(
}
srd_decoder_inst *const decoder_inst = srd_inst_new(
- session,
_decoder
->id, opt_hash);
+ session,
decoder_
->id, opt_hash);
g_hash_table_destroy(opt_hash);
g_hash_table_destroy(opt_hash);
- if(!decoder_inst)
- return
NULL
;
+ if
(!decoder_inst)
+ return
nullptr
;
- // Setup the
probe
s
- GHashTable *const
probe
s = g_hash_table_new_full(g_str_hash,
+ // Setup the
channel
s
+ GHashTable *const
channel
s = g_hash_table_new_full(g_str_hash,
g_str_equal, g_free, (GDestroyNotify)g_variant_unref);
g_str_equal, g_free, (GDestroyNotify)g_variant_unref);
- for(map<const srd_probe*, shared_ptr<view::LogicSignal> >::
- const_iterator i = _probes.begin();
- i != _probes.end(); i++)
- {
- shared_ptr<view::LogicSignal> signal((*i).second);
+ for (const auto& channel : channels_) {
+ shared_ptr<view::LogicSignal> signal(channel.second);
GVariant *const gvar = g_variant_new_int32(
GVariant *const gvar = g_variant_new_int32(
- signal->
probe()->index
);
+ signal->
channel()->index()
);
g_variant_ref_sink(gvar);
g_variant_ref_sink(gvar);
- g_hash_table_insert(
probes, (*i)
.first->id, gvar);
+ g_hash_table_insert(
channels, channel
.first->id, gvar);
}
}
- srd_inst_
probe_set_all(decoder_inst, probes, unit_size
);
+ srd_inst_
channel_set_all(decoder_inst, channels
);
return decoder_inst;
}
return decoder_inst;
}