#include <map>
#include <boost/shared_ptr.hpp>
+#include <boost/thread.hpp>
struct srd_decoder;
struct srd_decoder_inst;
namespace data {
+class Logic;
+
class Decoder : public SignalData
{
public:
std::map<const srd_probe*,
boost::shared_ptr<pv::view::Signal> > probes);
+ virtual ~Decoder();
+
const srd_decoder* get_decoder() const;
+ void begin_decode();
+
void clear_snapshots();
private:
void init_decoder();
+ void decode_proc(boost::shared_ptr<data::Logic> data);
+
private:
const srd_decoder *const _decoder;
std::map<const srd_probe*, boost::shared_ptr<view::Signal> >
_probes;
srd_decoder_inst *_decoder_inst;
+
+ boost::thread _decode_thread;
};
} // namespace data