X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdata%2Fdecode%2Fdecoder.hpp;h=55742c6070e5a020c00042b2c8894e744b13986e;hb=72486b789078f024e4f3404f81118c03b03e2b70;hp=3f0f462ba4412b30f0ade603bbc5e160d07969e9;hpb=7a01bd3654ed046216308fa64edfd79be7cd525f;p=pulseview.git diff --git a/pv/data/decode/decoder.hpp b/pv/data/decode/decoder.hpp index 3f0f462b..55742c60 100644 --- a/pv/data/decode/decoder.hpp +++ b/pv/data/decode/decoder.hpp @@ -14,8 +14,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * along with this program; if not, see . */ #ifndef PULSEVIEW_PV_DATA_DECODE_DECODER_HPP @@ -24,9 +23,14 @@ #include #include #include +#include #include +using std::map; +using std::string; +using std::vector; + struct srd_decoder; struct srd_decoder_inst; struct srd_channel; @@ -34,20 +38,18 @@ struct srd_session; namespace pv { -namespace view { -class LogicSignal; -} - namespace data { +struct DecodeChannel; class Logic; +class SignalBase; namespace decode { class Decoder { public: - Decoder(const srd_decoder *const decoder); + Decoder(const srd_decoder *const dec); virtual ~Decoder(); @@ -56,30 +58,28 @@ public: bool shown() const; void show(bool show = true); - const std::map >& channels() const; - void set_channels(std::map > channels); + const vector& channels() const; + void set_channels(vector channels); - const std::map& options() const; + 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, int unit_size) const; + bool have_required_channels() const; - std::set< std::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_; - std::map > - channels_; - std::map options_; + vector channels_; + map options_; + srd_decoder_inst *decoder_inst_; }; } // namespace decode