X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fdecode%2Fdecoder.hpp;h=55742c6070e5a020c00042b2c8894e744b13986e;hp=eff2367fb3604cf4c76e7e9ca7c9887cf0e741c4;hb=72486b789078f024e4f3404f81118c03b03e2b70;hpb=407c9ebeb13200fb7f28a33cab00e996c018f8dc diff --git a/pv/data/decode/decoder.hpp b/pv/data/decode/decoder.hpp index eff2367f..55742c60 100644 --- a/pv/data/decode/decoder.hpp +++ b/pv/data/decode/decoder.hpp @@ -23,13 +23,13 @@ #include #include #include +#include #include using std::map; -using std::set; -using std::shared_ptr; using std::string; +using std::vector; struct srd_decoder; struct srd_decoder_inst; @@ -40,6 +40,7 @@ namespace pv { namespace data { +struct DecodeChannel; class Logic; class SignalBase; @@ -57,33 +58,28 @@ public: bool shown() const; void show(bool show = true); - const map >& channels() const; - void set_channels(map > channels); - - void set_initial_pins(GArray *initial_pins); - - GArray *initial_pins() const; + const vector& channels() const; + void set_channels(vector channels); const map& options() const; void set_option(const char *id, GVariant *value); - bool have_required_channels() const; + void apply_all_options(); - srd_decoder_inst* create_decoder_inst(srd_session *session) const; + bool have_required_channels() const; - set< shared_ptr > get_data(); + srd_decoder_inst* create_decoder_inst(srd_session *session); + void invalidate_decoder_inst(); private: const srd_decoder *const decoder_; bool shown_; - map > channels_; - GArray *initial_pins_; + vector channels_; map options_; + srd_decoder_inst *decoder_inst_; }; } // namespace decode