Use libsigrok C++ bindings (patch version 7).
[pulseview.git] / pv / prop / binding / decoderoptions.h
index c08f1017fb2a822106f21a603f7be76768d66050..a95bc33f3748b854220febdfd1ccdf10bbc60c59 100644 (file)
 
 #include "binding.h"
 
+#include <pv/prop/property.h>
+
+struct srd_decoder_option;
+
 namespace pv {
 
 namespace data {
@@ -38,17 +42,21 @@ namespace binding {
 class DecoderOptions : public Binding
 {
 public:
-       DecoderOptions(boost::shared_ptr<pv::data::DecoderStack> decoder_stack,
-               boost::shared_ptr<pv::data::decode::Decoder> decoder);
+       DecoderOptions(std::shared_ptr<pv::data::DecoderStack> decoder_stack,
+               std::shared_ptr<pv::data::decode::Decoder> decoder);
 
 private:
-       GVariant* getter(const char *id);
+       static std::shared_ptr<Property> bind_enum(const QString &name,
+               const srd_decoder_option *option,
+               Property::Getter getter, Property::Setter setter);
+
+       Glib::VariantBase getter(const char *id);
 
-       void setter(const char *id, GVariant *value);
+       void setter(const char *id, Glib::VariantBase value);
 
 private:
-       boost::shared_ptr<pv::data::DecoderStack> _decoder_stack;
-       boost::shared_ptr<pv::data::decode::Decoder> _decoder;
+       std::shared_ptr<pv::data::DecoderStack> _decoder_stack;
+       std::shared_ptr<pv::data::decode::Decoder> _decoder;
 };
 
 } // binding