X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdata%2Fdecode%2Fannotation.hpp;h=cfa5e5e982e54746f79cac80c15062af7cd3f66b;hb=761f8302350c52f2cf357f49e1084e7101c70497;hp=f1e2ef35975bb30d27015c64d08f51a8b25ef103;hpb=2acdb232d6bb452cfdfaea3ef5218fb4da592329;p=pulseview.git diff --git a/pv/data/decode/annotation.hpp b/pv/data/decode/annotation.hpp index f1e2ef35..cfa5e5e9 100644 --- a/pv/data/decode/annotation.hpp +++ b/pv/data/decode/annotation.hpp @@ -14,42 +14,59 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * along with this program; if not, see . */ -#ifndef PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_H -#define PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_H +#ifndef PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_HPP +#define PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_HPP -#include +#include +#include #include +using std::vector; + struct srd_proto_data; namespace pv { namespace data { namespace decode { +class Row; + class Annotation { public: - Annotation(const srd_proto_data *const pdata); + typedef uint32_t Class; + +public: + Annotation(const srd_proto_data *const pdata, const Row *row); + Annotation(Annotation&& a); + Annotation& operator=(Annotation&& a); + ~Annotation(); uint64_t start_sample() const; uint64_t end_sample() const; - int format() const; - const std::vector& annotations() const; + + Class ann_class_id() const; + const QString ann_class_name() const; + + const vector* annotations() const; + const Row* row() const; + + bool operator<(const Annotation &other) const; private: uint64_t start_sample_; uint64_t end_sample_; - int format_; - std::vector annotations_; + vector* annotations_; + const Row *row_; + Class ann_class_id_; }; } // namespace decode } // namespace data } // namespace pv -#endif // PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_H +#endif // PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_HPP