X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fprop%2Fbinding%2Fdecoderoptions.h;h=6dec9c2ec5bd9d4a2ba5938c7191d3b767dbe30d;hb=182d2f5dbe8b631b24949e5b111762009d1eeefa;hp=ac32d42cabf29c9260da357d5e22b6a7d4a620f2;hpb=21ad818feabcb0a1cb51c61c534adce553c7e325;p=pulseview.git diff --git a/pv/prop/binding/decoderoptions.h b/pv/prop/binding/decoderoptions.h index ac32d42..6dec9c2 100644 --- a/pv/prop/binding/decoderoptions.h +++ b/pv/prop/binding/decoderoptions.h @@ -21,21 +21,42 @@ #ifndef PULSEVIEW_PV_PROP_BINDING_DECODEROPTIONS_H #define PULSEVIEW_PV_PROP_BINDING_DECODEROPTIONS_H -#include - #include "binding.h" +#include + +struct srd_decoder_option; + namespace pv { + +namespace data { +class DecoderStack; +namespace decode { +class Decoder; +} +} + namespace prop { namespace binding { class DecoderOptions : public Binding { public: - DecoderOptions(struct srd_decoder *decoder); + DecoderOptions(boost::shared_ptr decoder_stack, + boost::shared_ptr decoder); + +private: + static boost::shared_ptr bind_enum(const QString &name, + const srd_decoder_option *option, + Property::Getter getter, Property::Setter setter); + + GVariant* getter(const char *id); + + void setter(const char *id, GVariant *value); -protected: - struct srd_decoder *const _decoder; +private: + boost::shared_ptr _decoder_stack; + boost::shared_ptr _decoder; }; } // binding