X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdata%2Fdecode%2Fdecoder.hpp;fp=pv%2Fdata%2Fdecode%2Fdecoder.hpp;h=4baf86a026aeb4b62bf140f6af273ebae8d4156c;hb=6a26fc4417798ab21654197e105e707a14d462f0;hp=282cfe557d0740682ef17d82318ea4d9443463c8;hpb=c6b4e925a8c5d855a70ab2815e8bc1c371d5801a;p=pulseview.git diff --git a/pv/data/decode/decoder.hpp b/pv/data/decode/decoder.hpp index 282cfe55..4baf86a0 100644 --- a/pv/data/decode/decoder.hpp +++ b/pv/data/decode/decoder.hpp @@ -28,6 +28,7 @@ #include #include +#include using std::map; using std::string; @@ -49,6 +50,15 @@ namespace decode { class Decoder; +struct AnnotationClass +{ + size_t id; + char* name; + char* description; + Row* row; + bool visible; +}; + struct DecodeChannel { uint16_t id; ///< Global numerical ID for the decode channels in the stack @@ -76,7 +86,7 @@ public: virtual ~Decoder(); - const srd_decoder* decoder() const; + const srd_decoder* get_srd_decoder() const; const char* name() const; @@ -97,6 +107,12 @@ public: srd_decoder_inst* create_decoder_inst(srd_session *session); void invalidate_decoder_inst(); + vector get_rows(); + Row* get_row_by_id(size_t id); + + vector ann_classes() const; + AnnotationClass* get_ann_class_by_id(size_t id); + uint32_t get_binary_class_count() const; const DecodeBinaryClassInfo* get_binary_class(uint32_t id) const; @@ -106,6 +122,8 @@ private: bool shown_; vector channels_; + vector rows_; + vector ann_classes_; vector bin_classes_; map options_; srd_decoder_inst *decoder_inst_;