* 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 <http://www.gnu.org/licenses/>.
*/
#ifndef PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_HPP
#define PULSEVIEW_PV_VIEW_DECODE_ANNOTATION_HPP
-#include <stdint.h>
+#include <cstdint>
+#include <vector>
#include <QString>
+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);
uint64_t start_sample() const;
uint64_t end_sample() const;
- int format() const;
- const std::vector<QString>& annotations() const;
+ Class ann_class() const;
+ const vector<QString>& 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<QString> annotations_;
+ Class ann_class_;
+ vector<QString> annotations_;
+ const Row *row_;
};
} // namespace decode