+ size_t id;
+ char* name;
+ char* description;
+ Row* row;
+
+private:
+ bool visible_;
+};
+
+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;
+ shared_ptr<const pv::data::SignalBase> assigned_signal;
+ const QString name, desc;
+ int initial_pin_state;
+ const shared_ptr<Decoder> 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;
+ char* name;
+ char* description;
+};
+
+
+class Decoder : public QObject
+{
+ Q_OBJECT
+
+public:
+ Decoder(const srd_decoder *const dec, uint8_t stack_level);