From: Joel Holdsworth Date: Sat, 31 Aug 2013 17:49:11 +0000 (+0100) Subject: Added skeleton pv::view::decode::Annotation class X-Git-Tag: pulseview-0.2.0~300 X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=3195aeb6a867b6ab54b4a410182467f63f9b79f2;p=pulseview.git Added skeleton pv::view::decode::Annotation class --- diff --git a/CMakeLists.txt b/CMakeLists.txt index e66f1251..5d268e71 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -139,6 +139,7 @@ set(pulseview_SOURCES pv/view/trace.cpp pv/view/view.cpp pv/view/viewport.cpp + pv/view/decode/annotation.cpp ) # This list includes only QObject derrived class headers diff --git a/pv/view/decode/annotation.cpp b/pv/view/decode/annotation.cpp new file mode 100644 index 00000000..4d9a0483 --- /dev/null +++ b/pv/view/decode/annotation.cpp @@ -0,0 +1,47 @@ +/* + * This file is part of the PulseView project. + * + * Copyright (C) 2012 Joel Holdsworth + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * 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 + */ + +extern "C" { +#include +} + +#include "annotation.h" + +using namespace boost; +using namespace std; + +namespace pv { +namespace view { +namespace decode { + +Annotation::Annotation(const srd_proto_data *const pdata) : + _start_sample(pdata->start_sample), + _end_sample(pdata->end_sample) +{ + const char *const *annotations = (char**)pdata->data; + while(*annotations) { + _annotations.push_back(QString(*annotations)); + annotations++; + } +} + +} // namespace decode +} // namespace view +} // namespace pv diff --git a/pv/view/decode/annotation.h b/pv/view/decode/annotation.h new file mode 100644 index 00000000..4e24121c --- /dev/null +++ b/pv/view/decode/annotation.h @@ -0,0 +1,49 @@ +/* + * This file is part of the PulseView project. + * + * Copyright (C) 2013 Joel Holdsworth + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * 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 + */ + +#ifndef PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_H +#define PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_H + +#include + +#include + +struct srd_proto_data; + +namespace pv { +namespace view { +namespace decode { + +class Annotation +{ +public: + Annotation(const srd_proto_data *const pdata); + +private: + uint64_t _start_sample; + uint64_t _end_sample; + std::vector _annotations; +}; + +} // namespace decode +} // namespace view +} // namespace pv + +#endif // PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_H