/** Available output formats, indexed by name. */
map<string, shared_ptr<OutputFormat> > 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);
/** Open an input stream based on header data.
* @param header Initial data from stream. */
shared_ptr<Input> open_stream(string header);
- map<string, string> serials(shared_ptr<Driver> driver);
+ map<string, string> serials(shared_ptr<Driver> driver) const;
protected:
map<string, Driver *> _drivers;
map<string, InputFormat *> _input_formats;
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<const ConfigKey *, set<Capability> > 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,
{
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<shared_ptr<HardwareDevice> > scan(
{
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<shared_ptr<Channel> > channels();
/** Channel groups available on this device, indexed by name. */
{
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();
{
public:
/** Name of this channel group. */
- string name();
+ string name() const;
/** List of the channels in this group. */
vector<shared_ptr<Channel> > channels();
protected:
{
public:
/** Name of this trigger configuration. */
- string name();
+ string name() const;
/** List of the stages in this trigger. */
vector<shared_ptr<TriggerStage> > stages();
/** Add a new stage to this trigger. */
{
public:
/** Index number of this stage. */
- int number();
+ int number() const;
/** List of match conditions on this stage. */
vector<shared_ptr<TriggerMatch> > matches();
/** Add a new match condition to this stage.
/** Channel this condition matches on. */
shared_ptr<Channel> 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> channel);
~TriggerMatch();
* @param trigger Trigger object to use. */
void set_trigger(shared_ptr<Trigger> trigger);
/** Get filename this session was loaded from. */
- string filename();
+ string filename() const;
protected:
explicit Session(shared_ptr<Context> context);
Session(shared_ptr<Context> context, string filename);
{
public:
/** Type of this packet. */
- const PacketType *type();
+ const PacketType *type() const;
/** Payload of this packet. */
shared_ptr<PacketPayload> payload();
protected:
{
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();
{
public:
/* Mapping of (ConfigKey, value) pairs. */
- map<const ConfigKey *, Glib::VariantBase> config();
+ map<const ConfigKey *, Glib::VariantBase> config() const;
protected:
explicit Meta(const struct sr_datafeed_meta *structure);
~Meta();
/* 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();
/** 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<shared_ptr<Channel> > 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<const QuantityFlag *> mq_flags();
+ vector<const QuantityFlag *> mq_flags() const;
protected:
explicit Analog(const struct sr_datafeed_analog *structure);
~Analog();
{
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<string> extensions();
+ vector<string> extensions() const;
/** Options supported by this input format. */
map<string, shared_ptr<Option> > options();
/** Create an input using this input format.
{
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<Glib::VariantBase> values();
+ vector<Glib::VariantBase> values() const;
protected:
Option(const struct sr_option *structure,
shared_ptr<const struct sr_option *> structure_array);
{
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<string> extensions();
+ vector<string> extensions() const;
/** Options supported by this output format. */
map<string, shared_ptr<Option> > options();
/** Create an output using this format.
* @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();
/** Get value associated with a given integer constant. */
static const Class *get(int id)
{
- auto key = static_cast<Enum>(id);
- if (_values.find(key) == _values.end())
+ const auto pos = _values.find(static_cast<Enum>(id));
+ if (pos == _values.end())
throw Error(SR_ERR_ARG);
- return _values.at(key);
+ return pos->second;
}
/** Get possible values. */
static std::vector<const Class *> values()