+ AnnotationClass(size_t _id, char* _name, char* _description, Row* _row);
+
+ bool visible() const;
+ void set_visible(bool visible);
+
+Q_SIGNALS:
+ void visibility_changed();
+
+public:
+ 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;
+ const pv::data::SignalBase *assigned_signal;
+ const QString name, desc;
+ int initial_pin_state;
+ const shared_ptr<Decoder> decoder_;
+ const srd_channel *pdch_;
+};
+
+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);