Make member variable underscores a suffix instead of a prefix
[pulseview.git] / pv / data / decoderstack.h
index 2eeaf1c76fa4c1cba4718c8e627c05e1bb0e7afa..c50f3859962d020847ce9166727c1066feaa0bff 100644 (file)
 
 #include "signaldata.h"
 
+#include <atomic>
+#include <condition_variable>
 #include <list>
+#include <map>
+#include <memory>
+#include <thread>
 
 #include <boost/optional.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/thread.hpp>
 
 #include <QObject>
 #include <QString>
@@ -42,7 +45,7 @@ struct srd_proto_data;
 struct srd_session;
 
 namespace DecoderStackTest {
-class TwoDecoderStack;
+struct TwoDecoderStack;
 }
 
 namespace pv {
@@ -75,13 +78,13 @@ private:
        static const unsigned int DecodeNotifyPeriod;
 
 public:
-       DecoderStack(pv::SigSession &_session,
+       DecoderStack(pv::SigSession &session_,
                const srd_decoder *const decoder);
 
        virtual ~DecoderStack();
 
-       const std::list< boost::shared_ptr<decode::Decoder> >& stack() const;
-       void push(boost::shared_ptr<decode::Decoder> decoder);
+       const std::list< std::shared_ptr<decode::Decoder> >& stack() const;
+       void push(std::shared_ptr<decode::Decoder> decoder);
        void remove(int index);
 
        int64_t samples_decoded() const;
@@ -115,18 +118,18 @@ private:
        static void annotation_callback(srd_proto_data *pdata,
                void *decoder);
 
-private slots:
+private Q_SLOTS:
        void on_new_frame();
 
        void on_data_received();
 
        void on_frame_ended();
 
-signals:
+Q_SIGNALS:
        void new_decode_data();
 
 private:
-       pv::SigSession &_session;
+       pv::SigSession &session_;
 
        /**
         * This mutex prevents more than one decode operation occuring
@@ -134,29 +137,30 @@ private:
         * @todo A proper solution should be implemented to allow multiple
         * decode operations.
         */
-       static boost::mutex _global_decode_mutex;
+       static std::mutex global_decode_mutex_;
 
-       std::list< boost::shared_ptr<decode::Decoder> > _stack;
+       std::list< std::shared_ptr<decode::Decoder> > stack_;
 
-       boost::shared_ptr<pv::data::LogicSnapshot> _snapshot;
+       std::shared_ptr<pv::data::LogicSnapshot> snapshot_;
 
-       mutable boost::mutex _input_mutex;
-       mutable boost::condition_variable _input_cond;
-       int64_t _sample_count;
-       bool _frame_complete;
+       mutable std::mutex input_mutex_;
+       mutable std::condition_variable input_cond_;
+       int64_t sample_count_;
+       bool frame_complete_;
 
-       mutable boost::mutex _output_mutex;
-       int64_t _samples_decoded;
+       mutable std::mutex output_mutex_;
+       int64_t samples_decoded_;
 
-       std::map<const decode::Row, decode::RowData> _rows;
+       std::map<const decode::Row, decode::RowData> rows_;
 
-       std::map<std::pair<const srd_decoder*, int>, decode::Row> _class_rows;
+       std::map<std::pair<const srd_decoder*, int>, decode::Row> class_rows_;
 
-       QString _error_message;
+       QString error_message_;
 
-       boost::thread _decode_thread;
+       std::thread decode_thread_;
+       std::atomic<bool> interrupt_;
 
-       friend class DecoderStackTest::TwoDecoderStack;
+       friend struct DecoderStackTest::TwoDecoderStack;
 };
 
 } // namespace data