]> sigrok.org Git - pulseview.git/blobdiff - pv/data/logic.h
Use libsigrok C++ bindings (patch version 7).
[pulseview.git] / pv / data / logic.h
index 4b70b8f98bdb8028d09f0744e8db94ce0c81cc5b..3756ed9a2de0f860c560bb75ac57e1902f360acf 100644 (file)
 
 #include "signaldata.h"
 
-#include <boost/shared_ptr.hpp>
 #include <deque>
-
-extern "C" {
-#include <libsigrok/libsigrok.h>
-}
+#include <memory>
 
 namespace pv {
 namespace data {
@@ -38,19 +34,23 @@ class LogicSnapshot;
 class Logic : public SignalData
 {
 public:
-       Logic(const sr_datafeed_meta_logic &meta, uint64_t samplerate);
+       Logic(unsigned int num_channels);
 
-       int get_num_probes() const;
+       int get_num_channels() const;
 
        void push_snapshot(
-               boost::shared_ptr<LogicSnapshot> &snapshot);
+               std::shared_ptr<LogicSnapshot> &snapshot);
 
-       std::deque< boost::shared_ptr<LogicSnapshot> >&
+       std::deque< std::shared_ptr<LogicSnapshot> >&
                get_snapshots();
 
+       void clear();
+
+       uint64_t get_max_sample_count() const;
+
 private:
-       const int _num_probes;
-       std::deque< boost::shared_ptr<LogicSnapshot> > _snapshots;
+       const unsigned int _num_channels;
+       std::deque< std::shared_ptr<LogicSnapshot> > _snapshots;
 };
 
 } // namespace data