X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;ds=inline;f=bindings%2Fcxx%2Finclude%2Flibsigrokcxx%2Flibsigrokcxx.hpp;h=f10ae9559d70296d78d1931b65a16285faed2e3a;hb=4c9208a799064a4eb3c76701edf3a007811dbc85;hp=e93a5fb5942f5b4b8689824840ef21d8cd5bbd6d;hpb=6c11b49607bb7f51277983e8aabcfd7a50abaf83;p=libsigrok.git diff --git a/bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp b/bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp index e93a5fb5..f10ae955 100644 --- a/bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp +++ b/bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp @@ -121,9 +121,9 @@ class SR_API Error: public exception { public: explicit Error(int result); - ~Error() throw(); + ~Error() noexcept; const int result; - const char *what() const throw(); + const char *what() const noexcept; }; /* Base template for classes whose resources are owned by a parent object. */ @@ -246,11 +246,11 @@ private: virtual size_t read(const struct sr_resource *res, void *buf, size_t count) = 0; static SR_PRIV int open_callback(struct sr_resource *res, - const char *name, void *cb_data); + const char *name, void *cb_data) noexcept; static SR_PRIV int close_callback(struct sr_resource *res, - void *cb_data); + void *cb_data) noexcept; static SR_PRIV ssize_t read_callback(const struct sr_resource *res, - void *buf, size_t count, void *cb_data); + void *buf, size_t count, void *cb_data) noexcept; friend class Context; }; @@ -261,9 +261,9 @@ public: /** Create new context */ static shared_ptr create(); /** libsigrok package version. */ - string package_version(); + static string package_version(); /** libsigrok library version. */ - string lib_version(); + static string lib_version(); /** Available hardware drivers, indexed by name. */ map > drivers(); /** Available input formats, indexed by name. */ @@ -271,7 +271,7 @@ public: /** Available output formats, indexed by name. */ map > output_formats(); /** Current log level. */ - const LogLevel *log_level(); + const LogLevel *log_level() const; /** Set the log level. * @param level LogLevel to use. */ void set_log_level(const LogLevel *level); @@ -313,7 +313,7 @@ public: /** Open an input stream based on header data. * @param header Initial data from stream. */ shared_ptr open_stream(string header); - map serials(shared_ptr driver); + map serials(shared_ptr driver) const; protected: map _drivers; map _input_formats; @@ -339,18 +339,18 @@ class SR_API Configurable public: /** Read configuration for the given key. * @param key ConfigKey to read. */ - Glib::VariantBase config_get(const ConfigKey *key); + Glib::VariantBase config_get(const ConfigKey *key) const; /** Set configuration for the given key to a specified value. * @param key ConfigKey to set. * @param value Value to set. */ void config_set(const ConfigKey *key, const Glib::VariantBase &value); /** Enumerate available values for the given configuration key. * @param key ConfigKey to enumerate values for. */ - Glib::VariantContainerBase config_list(const ConfigKey *key); + 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); + bool config_check(const ConfigKey *key, const ConfigKey *index_key) const; protected: Configurable( struct sr_dev_driver *driver, @@ -369,9 +369,9 @@ class SR_API Driver : { public: /** Name of this driver. */ - string name(); + string name() const; /** Long name for this driver. */ - string long_name(); + string long_name() const; /** Scan for devices and return a list of devices found. * @param options Mapping of (ConfigKey, value) pairs. */ vector > scan( @@ -391,15 +391,15 @@ class SR_API Device : public Configurable { public: /** Vendor name for this device. */ - string vendor(); + string vendor() const; /** Model name for this device. */ - string model(); + string model() const; /** Version string for this device. */ - string version(); + string version() const; /** Serial number for this device. */ - string serial_number(); + string serial_number() const; /** Connection ID for this device. */ - string connection_id(); + string connection_id() const; /** List of the channels available on this device. */ vector > channels(); /** Channel groups available on this device, indexed by name. */ @@ -482,19 +482,19 @@ class SR_API Channel : { public: /** Current name of this channel. */ - string name(); + string name() const; /** Set the name of this channel. * * @param name Name string to set. */ void set_name(string name); /** Type of this channel. */ - const ChannelType *type(); + const ChannelType *type() const; /** Enabled status of this channel. */ - bool enabled(); + bool enabled() const; /** Set the enabled status of this channel. * @param value Boolean value to set. */ void set_enabled(bool value); /** Get the index number of this channel. */ - unsigned int index(); + unsigned int index() const; protected: explicit Channel(struct sr_channel *structure); ~Channel(); @@ -514,7 +514,7 @@ class SR_API ChannelGroup : { public: /** Name of this channel group. */ - string name(); + string name() const; /** List of the channels in this group. */ vector > channels(); protected: @@ -529,7 +529,7 @@ class SR_API Trigger : public UserOwned { public: /** Name of this trigger configuration. */ - string name(); + string name() const; /** List of the stages in this trigger. */ vector > stages(); /** Add a new stage to this trigger. */ @@ -550,7 +550,7 @@ class SR_API TriggerStage : { public: /** Index number of this stage. */ - int number(); + int number() const; /** List of match conditions on this stage. */ vector > matches(); /** Add a new match condition to this stage. @@ -577,9 +577,9 @@ public: /** Channel this condition matches on. */ shared_ptr channel(); /** Type of match. */ - const TriggerMatchType *type(); + const TriggerMatchType *type() const; /** Threshold value. */ - float value(); + float value() const; protected: TriggerMatch(struct sr_trigger_match *structure, shared_ptr channel); ~TriggerMatch(); @@ -661,7 +661,7 @@ public: * @param trigger Trigger object to use. */ void set_trigger(shared_ptr trigger); /** Get filename this session was loaded from. */ - string filename(); + string filename() const; protected: explicit Session(shared_ptr context); Session(shared_ptr context, string filename); @@ -685,7 +685,7 @@ class SR_API Packet : public UserOwned { public: /** Type of this packet. */ - const PacketType *type(); + const PacketType *type() const; /** Payload of this packet. */ shared_ptr payload(); protected: @@ -730,9 +730,9 @@ class SR_API Header : { public: /* Feed version number. */ - int feed_version(); + int feed_version() const; /* Start time of this session. */ - Glib::TimeVal start_time(); + Glib::TimeVal start_time() const; protected: explicit Header(const struct sr_datafeed_header *structure); ~Header(); @@ -747,7 +747,7 @@ class SR_API Meta : { public: /* Mapping of (ConfigKey, value) pairs. */ - map config(); + map config() const; protected: explicit Meta(const struct sr_datafeed_meta *structure); ~Meta(); @@ -765,9 +765,9 @@ public: /* Pointer to data. */ void *data_pointer(); /* Data length in bytes. */ - size_t data_length(); + size_t data_length() const; /* Size of each sample in bytes. */ - unsigned int unit_size(); + unsigned int unit_size() const; protected: explicit Logic(const struct sr_datafeed_logic *structure); ~Logic(); @@ -784,15 +784,15 @@ public: /** Pointer to data. */ void *data_pointer(); /** Number of samples in this packet. */ - uint32_t num_samples(); + unsigned int num_samples() const; /** Channels for which this packet contains data. */ vector > channels(); /** Measured quantity of the samples in this packet. */ - const Quantity *mq(); + const Quantity *mq() const; /** Unit of the samples in this packet. */ - const Unit *unit(); + const Unit *unit() const; /** Measurement flags associated with the samples in this packet. */ - vector mq_flags(); + vector mq_flags() const; protected: explicit Analog(const struct sr_datafeed_analog *structure); ~Analog(); @@ -806,12 +806,12 @@ class SR_API InputFormat : { public: /** Name of this input format. */ - string name(); + string name() const; /** Description of this input format. */ - string description(); + string description() const; /** A list of preferred file name extensions for this file format. * @note This list is a recommendation only. */ - vector extensions(); + vector extensions() const; /** Options supported by this input format. */ map > options(); /** Create an input using this input format. @@ -864,15 +864,15 @@ class SR_API Option : public UserOwned { public: /** Short name of this option suitable for command line usage. */ - string id(); + string id() const; /** Short name of this option suitable for GUI usage. */ - string name(); + string name() const; /** Description of this option in a sentence. */ - string description(); + string description() const; /** Default value for this option. */ - Glib::VariantBase default_value(); + Glib::VariantBase default_value() const; /** Possible values for this option, if a limited set. */ - vector values(); + vector values() const; protected: Option(const struct sr_option *structure, shared_ptr structure_array); @@ -889,12 +889,12 @@ class SR_API OutputFormat : { public: /** Name of this output format. */ - string name(); + string name() const; /** Description of this output format. */ - string description(); + string description() const; /** A list of preferred file name extensions for this file format. * @note This list is a recommendation only. */ - vector extensions(); + vector extensions() const; /** Options supported by this output format. */ map > options(); /** Create an output using this format. @@ -916,7 +916,7 @@ public: * @return true if flag is set for this module * @see sr_output_flags */ - bool test_flag(const OutputFlag *flag); + bool test_flag(const OutputFlag *flag) const; protected: explicit OutputFormat(const struct sr_output_module *structure); ~OutputFormat(); @@ -962,10 +962,10 @@ public: /** Get value associated with a given integer constant. */ static const Class *get(int id) { - auto key = static_cast(id); - if (_values.find(key) == _values.end()) + const auto pos = _values.find(static_cast(id)); + if (pos == _values.end()) throw Error(SR_ERR_ARG); - return _values.at(key); + return pos->second; } /** Get possible values. */ static std::vector values()