]> sigrok.org Git - pulseview.git/commitdiff
SignalData: Added snapshots accessor method
authorJoel Holdsworth <redacted>
Sat, 29 Nov 2014 18:40:46 +0000 (18:40 +0000)
committerJoel Holdsworth <redacted>
Tue, 9 Dec 2014 18:24:59 +0000 (18:24 +0000)
pv/data/analog.cpp
pv/data/analog.hpp
pv/data/logic.cpp
pv/data/logic.hpp
pv/data/signaldata.hpp

index dba99253eeb7a77f559f537cf7cf03b652adcbab..3f96dae1afe566e61d512176d4d1cf2d6fbdd08d 100644 (file)
@@ -26,6 +26,7 @@
 using std::deque;
 using std::max;
 using std::shared_ptr;
+using std::vector;
 
 namespace pv {
 namespace data {
@@ -45,6 +46,12 @@ const deque< shared_ptr<AnalogSnapshot> >& Analog::analog_snapshots() const
        return snapshots_;
 }
 
+vector< shared_ptr<Snapshot> > Analog::snapshots() const
+{
+       return vector< shared_ptr<Snapshot> >(
+               snapshots_.begin(), snapshots_.end());
+}
+
 void Analog::clear()
 {
        snapshots_.clear();
index c0c6bd6f07d82ca2b20ddb7db2e15b83c2110b62..9551afff68efe1d060f07c13fdb0d30a33181d19 100644 (file)
@@ -42,6 +42,8 @@ public:
        const std::deque< std::shared_ptr<AnalogSnapshot> >&
                analog_snapshots() const;
 
+       std::vector< std::shared_ptr<Snapshot> > snapshots() const;
+
        void clear();
 
        uint64_t get_max_sample_count() const;
index 8b864f7672fb352f65a8cf1ffd59693f4cf210cf..96f0d1fe7e63afe40bd8a23f8124eae698ab413d 100644 (file)
@@ -26,6 +26,7 @@
 using std::deque;
 using std::max;
 using std::shared_ptr;
+using std::vector;
 
 namespace pv {
 namespace data {
@@ -53,6 +54,12 @@ const deque< shared_ptr<LogicSnapshot> >& Logic::logic_snapshots() const
        return snapshots_;
 }
 
+vector< shared_ptr<Snapshot> > Logic::snapshots() const
+{
+       return vector< shared_ptr<Snapshot> >(
+               snapshots_.begin(), snapshots_.end());
+}
+
 void Logic::clear()
 {
        snapshots_.clear();
index a51850719bbeba7e8c1355860a162bedce2acc8f..d57df0cfe9e03020eed10a36e6fc6db34c11c6a5 100644 (file)
@@ -24,7 +24,6 @@
 #include "signaldata.hpp"
 
 #include <deque>
-#include <memory>
 
 namespace pv {
 namespace data {
@@ -44,6 +43,8 @@ public:
        const std::deque< std::shared_ptr<LogicSnapshot> >&
                logic_snapshots() const;
 
+       std::vector< std::shared_ptr<Snapshot> > snapshots() const;
+
        void clear();
 
        uint64_t get_max_sample_count() const;
index 885f843556a70c90f2df6aaebdf0fceeea0ee8e9..35b1305fcfcf0a4d90b7890f1d829218d0a8c65f 100644 (file)
 #ifndef PULSEVIEW_PV_DATA_SIGNALDATA_H
 #define PULSEVIEW_PV_DATA_SIGNALDATA_H
 
-#include <stdint.h>
+#include <cstdint>
+#include <memory>
+#include <vector>
 
 namespace pv {
 namespace data {
 
+class Snapshot;
+
 class SignalData
 {
 public:
@@ -38,6 +42,8 @@ public:
 
        double get_start_time() const;
 
+       virtual std::vector< std::shared_ptr<Snapshot> > snapshots() const = 0;
+
        virtual void clear() = 0;
 
        virtual uint64_t get_max_sample_count() const = 0;