]> sigrok.org Git - pulseview.git/blobdiff - sigsession.h
Small consistency fix in a header.
[pulseview.git] / sigsession.h
index 92c048bddc1bcf5e25d357d204f312f4fda17919..f7ec3853e9df05003cf7eb5f04076cf0e72df044 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * This file is part of the sigrok project.
+ * This file is part of the PulseView project.
  *
  * Copyright (C) 2012 Joel Holdsworth <joel@airwebreathe.org.uk>
  *
 #ifndef SIGSESSION_H
 #define SIGSESSION_H
 
+#include <boost/shared_ptr.hpp>
+
+#include <string>
+#include <vector>
+
 #include <QObject>
 
 extern "C" {
 #include <libsigrok/libsigrok.h>
 }
 
-#include <string>
+class LogicData;
+class LogicDataSnapshot;
+class Signal;
 
 class SigSession : public QObject
 {
@@ -38,28 +45,36 @@ public:
 
        ~SigSession();
 
-       void loadFile(const std::string &name);
+       void load_file(const std::string &name);
+
+       void start_capture(struct sr_dev_inst* sdi, uint64_t record_length,
+               uint64_t sample_rate);
+
+       std::vector< boost::shared_ptr<Signal> >&
+               get_signals();
+
+       boost::shared_ptr<LogicData> get_data();
 
 private:
-       void dataFeedIn(const struct sr_dev_inst *sdi,
+       void data_feed_in(const struct sr_dev_inst *sdi,
                struct sr_datafeed_packet *packet);
 
-       static void dataFeedInProc(const struct sr_dev_inst *sdi,
+       static void data_feed_in_proc(const struct sr_dev_inst *sdi,
                struct sr_datafeed_packet *packet);
 
 private:
-       int unitSize;
-       int probeList[SR_MAX_NUM_PROBES + 1];
-       GArray *sigData;
+       std::vector< boost::shared_ptr<Signal> > _signals;
+       boost::shared_ptr<LogicData> _logic_data;
+       boost::shared_ptr<LogicDataSnapshot> _cur_logic_snapshot;
 
 signals:
-       void dataUpdated();
+       void data_updated();
 
 private:
        // TODO: This should not be necessary. Multiple concurrent
        // sessions should should be supported and it should be
        // possible to associate a pointer with a sr_session.
-       static SigSession *session;
+       static SigSession *_session;
 };
 
 #endif // SIGSESSION_H