X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fdecode%2Fdecoder.hpp;h=ac1052e62c9dfcb1cc270455686bfc0b619e003f;hp=2c4337478135fdc40d63c82c63316a59617f188e;hb=883041605ce8536ece950b1de191cfe71068dfba;hpb=02078aa15a4747b8ab7a91d54e2e141c3acb5628 diff --git a/pv/data/decode/decoder.hpp b/pv/data/decode/decoder.hpp index 2c433747..ac1052e6 100644 --- a/pv/data/decode/decoder.hpp +++ b/pv/data/decode/decoder.hpp @@ -30,11 +30,11 @@ #include -#include #include using std::deque; using std::map; +using std::shared_ptr; using std::string; using std::vector; @@ -82,13 +82,19 @@ struct DecodeChannel uint16_t id; ///< Global numerical ID for the decode channels in the stack uint16_t bit_id; ///< Tells which bit within a sample represents this channel const bool is_optional; - const pv::data::SignalBase *assigned_signal; + shared_ptr assigned_signal; const QString name, desc; int initial_pin_state; const shared_ptr decoder_; const srd_channel *pdch_; }; +struct DecoderLogicOutputChannel { + DecoderLogicOutputChannel (QString id, QString desc) : + id(id), desc(desc) {}; + QString id, desc; +}; + struct DecodeBinaryClassInfo { uint32_t bin_class_id; @@ -139,6 +145,9 @@ public: uint32_t get_binary_class_count() const; const DecodeBinaryClassInfo* get_binary_class(uint32_t id) const; + bool has_logic_output() const; + const vector logic_output_channels() const; + Q_SIGNALS: void annotation_visibility_changed();