2 * This file is part of the PulseView project.
4 * Copyright (C) 2014 Joel Holdsworth <joel@airwebreathe.org.uk>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, see <http://www.gnu.org/licenses/>.
20 #ifndef PULSEVIEW_PV_DATA_DECODE_ROW_HPP
21 #define PULSEVIEW_PV_DATA_DECODE_ROW_HPP
25 #include <pv/data/decode/annotation.hpp>
26 #include <pv/data/decode/decoder.hpp>
29 struct srd_decoder_annotation_row;
35 struct AnnotationClass;
43 Row(uint32_t index, Decoder* decoder,
44 const srd_decoder_annotation_row* srd_row = nullptr);
46 const Decoder* decoder() const;
47 const srd_decoder_annotation_row* get_srd_row() const;
49 const QString title() const;
50 const QString description() const;
51 vector<AnnotationClass*> ann_classes() const;
52 uint32_t index() const;
55 void set_visible(bool visible);
57 bool operator<(const Row& other) const;
58 bool operator==(const Row& other) const;
63 const srd_decoder_annotation_row* srd_row_;
71 #endif // PULSEVIEW_PV_DATA_DECODE_ROW_HPP