X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=bindings%2Fcxx%2Finclude%2Flibsigrokcxx%2Flibsigrokcxx.hpp;h=ad59f5b9787a3e986b283e73544045faa47ecbbf;hb=fef90b410162bcdb3a7690e15dfabbf90b4f595d;hp=da2a286e05d79db7eff2e234067274ee6a41a58b;hpb=12f2f640cbe9167ad386a2d9069ec882d70cda5b;p=libsigrok.git diff --git a/bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp b/bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp index da2a286e..ad59f5b9 100644 --- a/bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp +++ b/bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp @@ -232,7 +232,7 @@ private: const char *name, void *cb_data) noexcept; static SR_PRIV int close_callback(struct sr_resource *res, void *cb_data) noexcept; - static SR_PRIV ssize_t read_callback(const struct sr_resource *res, + static SR_PRIV gssize read_callback(const struct sr_resource *res, void *buf, size_t count, void *cb_data) noexcept; friend class Context; }; @@ -315,6 +315,8 @@ private: class SR_API Configurable { public: + /** Supported configuration keys. */ + set config_keys() const; /** Read configuration for the given key. * @param key ConfigKey to read. */ Glib::VariantBase config_get(const ConfigKey *key) const; @@ -325,10 +327,13 @@ public: /** Enumerate available values for the given configuration key. * @param key ConfigKey to enumerate values for. */ Glib::VariantContainerBase config_list(const ConfigKey *key) const; - /** Enumerate available keys, according to a given index key. */ - map > config_keys(const ConfigKey *key); - /** Check for a key in the list from a given index key. */ - bool config_check(const ConfigKey *key, const ConfigKey *index_key) const; + /** Enumerate configuration capabilities for the given configuration key. + * @param key ConfigKey to enumerate capabilities for. */ + set config_capabilities(const ConfigKey *key) const; + /** Check whether a configuration capability is supported for a given key. + * @param key ConfigKey to check. + * @param capability Capability to check for. */ + bool config_check(const ConfigKey *key, const Capability *capability) const; protected: Configurable( struct sr_dev_driver *driver, @@ -341,15 +346,15 @@ protected: }; /** A hardware driver provided by the library */ -class SR_API Driver : - public ParentOwned, - public Configurable +class SR_API Driver : public ParentOwned, public Configurable { public: /** Name of this driver. */ string name() const; /** Long name for this driver. */ string long_name() const; + /** Scan options supported by this driver. */ + set scan_options() const; /** Scan for devices and return a list of devices found. * @param options Mapping of (ConfigKey, value) pairs. */ vector > scan(map @@ -823,6 +828,7 @@ public: void send(void *data, size_t length); /** Signal end of input data. */ void end(); + void reset(); private: Input(shared_ptr context, const struct sr_input *structure); ~Input();