Use libsigrok C++ bindings (patch version 7).
[pulseview.git] / pv / data / logicsnapshot.h
index 0f6f410c962487dd8828bda493e86fe33670e050..a215f92801307879b91402ffadffc9f3e668cc2a 100644 (file)
 #include <utility>
 #include <vector>
 
+namespace sigrok {
+       class Logic;
+}
+
 namespace LogicSnapshotTest {
-class Pow2;
-class Basic;
-class LargeData;
-class Pulses;
-class LongPulses;
+struct Pow2;
+struct Basic;
+struct LargeData;
+struct Pulses;
+struct LongPulses;
 }
 
 namespace pv {
@@ -58,12 +62,12 @@ public:
        typedef std::pair<int64_t, bool> EdgePair;
 
 public:
-       LogicSnapshot(const sr_datafeed_logic &logic,
+       LogicSnapshot(std::shared_ptr<sigrok::Logic> logic,
                      uint64_t expected_num_samples = 0);
 
        virtual ~LogicSnapshot();
 
-       void append_payload(const sr_datafeed_logic &logic);
+       void append_payload(std::shared_ptr<sigrok::Logic> logic);
 
        void get_samples(uint8_t *const data,
                int64_t start_sample, int64_t end_sample) const;
@@ -102,11 +106,11 @@ private:
        struct MipMapLevel _mip_map[ScaleStepCount];
        uint64_t _last_append_sample;
 
-       friend class LogicSnapshotTest::Pow2;
-       friend class LogicSnapshotTest::Basic;
-       friend class LogicSnapshotTest::LargeData;
-       friend class LogicSnapshotTest::Pulses;
-       friend class LogicSnapshotTest::LongPulses;
+       friend struct LogicSnapshotTest::Pow2;
+       friend struct LogicSnapshotTest::Basic;
+       friend struct LogicSnapshotTest::LargeData;
+       friend struct LogicSnapshotTest::Pulses;
+       friend struct LogicSnapshotTest::LongPulses;
 };
 
 } // namespace data