]> sigrok.org Git - pulseview.git/blobdiff - pv/session.hpp
Session: Fixed header guard
[pulseview.git] / pv / session.hpp
index 556f54e5d5c938454a49486a7aac011bf561c26a..f5c87f694f8e22a574307e7ae3568968423df9e8 100644 (file)
@@ -18,8 +18,8 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#ifndef PULSEVIEW_PV_SIGSESSION_H
-#define PULSEVIEW_PV_SIGSESSION_H
+#ifndef PULSEVIEW_PV_SESSION_HPP
+#define PULSEVIEW_PV_SESSION_HPP
 
 #include <map>
 #include <memory>
 #include <set>
 #include <string>
 #include <thread>
+#include <unordered_set>
 #include <vector>
 
+#ifdef _WIN32
+// Windows: Avoid namespace pollution by thread.hpp (which includes windows.h).
+#define NOGDI
+#define NORESOURCE
+#endif
 #include <boost/thread.hpp>
 
 #include <QObject>
@@ -38,13 +44,13 @@ struct srd_decoder;
 struct srd_channel;
 
 namespace sigrok {
-       class Analog;
-       class Channel;
-       class Device;
-       class Logic;
-       class Meta;
-       class Packet;
-       class Session;
+class Analog;
+class Channel;
+class Device;
+class Logic;
+class Meta;
+class Packet;
+class Session;
 }
 
 namespace pv {
@@ -53,9 +59,9 @@ class DeviceManager;
 
 namespace data {
 class Analog;
-class AnalogSnapshot;
+class AnalogSegment;
 class Logic;
-class LogicSnapshot;
+class LogicSegment;
 class SignalData;
 }
 
@@ -94,7 +100,11 @@ public:
         */
        void set_device(std::shared_ptr<sigrok::Device> device);
 
-       void set_file(const std::string &name);
+       /**
+        * Sets a sigrok session file as the capture device.
+        * @param name the path to the file.
+        */
+       void set_session_file(const std::string &name);
 
        void set_default_device();
 
@@ -108,7 +118,8 @@ public:
 
        boost::shared_mutex& signals_mutex() const;
 
-       const std::vector< std::shared_ptr<view::Signal> >& signals() const;
+       const std::unordered_set< std::shared_ptr<view::Signal> >&
+               signals() const;
 
 #ifdef ENABLE_DECODE
        bool add_decoder(srd_decoder *const dec);
@@ -162,14 +173,14 @@ private:
        capture_state capture_state_;
 
        mutable boost::shared_mutex signals_mutex_;
-       std::vector< std::shared_ptr<view::Signal> > signals_;
+       std::unordered_set< std::shared_ptr<view::Signal> > signals_;
 
        mutable std::mutex data_mutex_;
        std::shared_ptr<data::Logic> logic_data_;
        uint64_t cur_samplerate_;
-       std::shared_ptr<data::LogicSnapshot> cur_logic_snapshot_;
-       std::map< std::shared_ptr<sigrok::Channel>, std::shared_ptr<data::AnalogSnapshot> >
-               cur_analog_snapshots_;
+       std::shared_ptr<data::LogicSegment> cur_logic_segment_;
+       std::map< std::shared_ptr<sigrok::Channel>, std::shared_ptr<data::AnalogSegment> >
+               cur_analog_segments_;
 
        std::thread sampling_thread_;
 
@@ -188,4 +199,4 @@ Q_SIGNALS:
 
 } // namespace pv
 
-#endif // PULSEVIEW_PV_SIGSESSION_H
+#endif // PULSEVIEW_PV_SESSION_HPP