]> sigrok.org Git - pulseview.git/blobdiff - pv/session.hpp
Session: Made update_signals non-destructive
[pulseview.git] / pv / session.hpp
index 0f904d0d1cf300cf406b75d4751b46a5b3ed67a5..d17c9dc364205344d157e7c271601cb5c6e9c5a7 100644 (file)
 #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>
@@ -112,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);
@@ -166,7 +173,7 @@ 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_;