]> sigrok.org Git - pulseview.git/blobdiff - pv/data/decode/decoder.hpp
Implement logic data muxer thread
[pulseview.git] / pv / data / decode / decoder.hpp
index 1b655662bcb707dfe5fd83dbc847164e81bc04a2..4ec193b1df24dc73d61936e8e5d71bfb278b6316 100644 (file)
@@ -23,6 +23,7 @@
 #include <map>
 #include <memory>
 #include <set>
+#include <vector>
 
 #include <glib.h>
 
@@ -30,6 +31,7 @@ using std::map;
 using std::set;
 using std::shared_ptr;
 using std::string;
+using std::vector;
 
 struct srd_decoder;
 struct srd_decoder_inst;
@@ -40,6 +42,7 @@ namespace pv {
 
 namespace data {
 
+struct DecodeChannel;
 class Logic;
 class SignalBase;
 
@@ -57,10 +60,8 @@ public:
        bool shown() const;
        void show(bool show = true);
 
-       const map<const srd_channel*,
-               shared_ptr<data::SignalBase> >& channels() const;
-       void set_channels(map<const srd_channel*,
-               shared_ptr<data::SignalBase> > channels);
+       const vector<data::DecodeChannel*>& channels() const;
+       void set_channels(vector<data::DecodeChannel*> channels);
 
        const map<string, GVariant*>& options() const;
 
@@ -70,14 +71,12 @@ public:
 
        srd_decoder_inst* create_decoder_inst(srd_session *session) const;
 
-       set< shared_ptr<pv::data::Logic> > get_data();
-
 private:
        const srd_decoder *const decoder_;
 
        bool shown_;
 
-       map<const srd_channel*, shared_ptr<pv::data::SignalBase> > channels_;
+       vector<data::DecodeChannel*> channels_;
        map<string, GVariant*> options_;
 };