The Java bindings currently have some weird problem with function
arguments passed by const reference. Not all types are affected,
but the collection types that involve custom typemaps are.
For now, revert back to pass-by-value for the problematic types.
}
shared_ptr<Packet> Context::create_meta_packet(
}
shared_ptr<Packet> Context::create_meta_packet(
- const map<const ConfigKey *, Glib::VariantBase> &config)
+ map<const ConfigKey *, Glib::VariantBase> config)
{
auto meta = g_new0(struct sr_datafeed_meta, 1);
for (const auto &input : config)
{
auto meta = g_new0(struct sr_datafeed_meta, 1);
for (const auto &input : config)
}
shared_ptr<Packet> Context::create_analog_packet(
}
shared_ptr<Packet> Context::create_analog_packet(
- const vector<shared_ptr<Channel> > &channels,
+ vector<shared_ptr<Channel> > channels,
float *data_pointer, unsigned int num_samples, const Quantity *mq,
float *data_pointer, unsigned int num_samples, const Quantity *mq,
- const Unit *unit, const vector<const QuantityFlag *> &mqflags)
+ const Unit *unit, vector<const QuantityFlag *> mqflags)
{
auto analog = g_new0(struct sr_datafeed_analog, 1);
auto meaning = g_new0(struct sr_analog_meaning, 1);
{
auto analog = g_new0(struct sr_datafeed_analog, 1);
auto meaning = g_new0(struct sr_analog_meaning, 1);
analog->num_samples = num_samples;
meaning->mq = static_cast<sr_mq>(mq->id());
meaning->unit = static_cast<sr_unit>(unit->id());
analog->num_samples = num_samples;
meaning->mq = static_cast<sr_mq>(mq->id());
meaning->unit = static_cast<sr_unit>(unit->id());
- meaning->mqflags = static_cast<sr_mqflag>(QuantityFlag::mask_from_flags(mqflags));
+ meaning->mqflags = static_cast<sr_mqflag>(QuantityFlag::mask_from_flags(move(mqflags)));
analog->data = data_pointer;
auto packet = g_new(struct sr_datafeed_packet, 1);
packet->type = SR_DF_ANALOG;
analog->data = data_pointer;
auto packet = g_new(struct sr_datafeed_packet, 1);
packet->type = SR_DF_ANALOG;
}
vector<shared_ptr<HardwareDevice>> Driver::scan(
}
vector<shared_ptr<HardwareDevice>> Driver::scan(
- const map<const ConfigKey *, Glib::VariantBase> &options)
+ map<const ConfigKey *, Glib::VariantBase> options)
{
/* Initialise the driver if not yet done. */
if (!_initialized)
{
/* Initialise the driver if not yet done. */
if (!_initialized)
}
shared_ptr<Input> InputFormat::create_input(
}
shared_ptr<Input> InputFormat::create_input(
- const map<string, Glib::VariantBase> &options)
+ map<string, Glib::VariantBase> options)
{
auto input = sr_input_new(_structure, map_to_hash_variant(options));
if (!input)
{
auto input = sr_input_new(_structure, map_to_hash_variant(options));
if (!input)
}
shared_ptr<Output> OutputFormat::create_output(
}
shared_ptr<Output> OutputFormat::create_output(
- shared_ptr<Device> device, const map<string, Glib::VariantBase> &options)
+ shared_ptr<Device> device, map<string, Glib::VariantBase> options)
{
return shared_ptr<Output>{
{
return shared_ptr<Output>{
- new Output{shared_from_this(), move(device), options},
+ new Output{shared_from_this(), move(device), move(options)},
default_delete<Output>{}};
}
shared_ptr<Output> OutputFormat::create_output(string filename,
default_delete<Output>{}};
}
shared_ptr<Output> OutputFormat::create_output(string filename,
- shared_ptr<Device> device, const map<string, Glib::VariantBase> &options)
+ shared_ptr<Device> device, map<string, Glib::VariantBase> options)
{
return shared_ptr<Output>{
{
return shared_ptr<Output>{
- new Output{move(filename), shared_from_this(), move(device), options},
+ new Output{move(filename), shared_from_this(), move(device), move(options)},
default_delete<Output>{}};
}
default_delete<Output>{}};
}
}
Output::Output(shared_ptr<OutputFormat> format,
}
Output::Output(shared_ptr<OutputFormat> format,
- shared_ptr<Device> device, const map<string, Glib::VariantBase> &options) :
+ shared_ptr<Device> device, map<string, Glib::VariantBase> options) :
_structure(sr_output_new(format->_structure,
map_to_hash_variant(options), device->_structure, nullptr)),
_format(move(format)),
_device(move(device)),
_structure(sr_output_new(format->_structure,
map_to_hash_variant(options), device->_structure, nullptr)),
_format(move(format)),
_device(move(device)),
+ _options(move(options))
{
}
Output::Output(string filename, shared_ptr<OutputFormat> format,
{
}
Output::Output(string filename, shared_ptr<OutputFormat> format,
- shared_ptr<Device> device, const map<string, Glib::VariantBase> &options) :
+ shared_ptr<Device> device, map<string, Glib::VariantBase> options) :
_structure(sr_output_new(format->_structure,
map_to_hash_variant(options), device->_structure, filename.c_str())),
_format(move(format)),
_device(move(device)),
_structure(sr_output_new(format->_structure,
map_to_hash_variant(options), device->_structure, filename.c_str())),
_format(move(format)),
_device(move(device)),
+ _options(move(options))
shared_ptr<Packet> create_header_packet(Glib::TimeVal start_time);
/** Create a meta packet. */
shared_ptr<Packet> create_meta_packet(
shared_ptr<Packet> create_header_packet(Glib::TimeVal start_time);
/** Create a meta packet. */
shared_ptr<Packet> create_meta_packet(
- const map<const ConfigKey *, Glib::VariantBase> &config);
+ map<const ConfigKey *, Glib::VariantBase> config);
/** Create a logic packet. */
shared_ptr<Packet> create_logic_packet(
void *data_pointer, size_t data_length, unsigned int unit_size);
/** Create an analog packet. */
shared_ptr<Packet> create_analog_packet(
/** Create a logic packet. */
shared_ptr<Packet> create_logic_packet(
void *data_pointer, size_t data_length, unsigned int unit_size);
/** Create an analog packet. */
shared_ptr<Packet> create_analog_packet(
- const vector<shared_ptr<Channel> > &channels,
+ vector<shared_ptr<Channel> > channels,
float *data_pointer, unsigned int num_samples, const Quantity *mq,
float *data_pointer, unsigned int num_samples, const Quantity *mq,
- const Unit *unit, const vector<const QuantityFlag *> &mqflags);
+ const Unit *unit, vector<const QuantityFlag *> mqflags);
/** Load a saved session.
* @param filename File name string. */
shared_ptr<Session> load_session(string filename);
/** Load a saved session.
* @param filename File name string. */
shared_ptr<Session> load_session(string filename);
string long_name() const;
/** Scan for devices and return a list of devices found.
* @param options Mapping of (ConfigKey, value) pairs. */
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(const map<const ConfigKey *, Glib::VariantBase>
- &options = map<const ConfigKey *, Glib::VariantBase>());
+ vector<shared_ptr<HardwareDevice> > scan(map<const ConfigKey *, Glib::VariantBase>
+ options = map<const ConfigKey *, Glib::VariantBase>());
private:
struct sr_dev_driver *_structure;
bool _initialized;
private:
struct sr_dev_driver *_structure;
bool _initialized;
map<string, shared_ptr<Option> > options();
/** Create an input using this input format.
* @param options Mapping of (option name, value) pairs. */
map<string, shared_ptr<Option> > options();
/** Create an input using this input format.
* @param options Mapping of (option name, value) pairs. */
- shared_ptr<Input> create_input(const map<string, Glib::VariantBase>
- &options = map<string, Glib::VariantBase>());
+ shared_ptr<Input> create_input(map<string, Glib::VariantBase>
+ options = map<string, Glib::VariantBase>());
private:
explicit InputFormat(const struct sr_input_module *structure);
~InputFormat();
private:
explicit InputFormat(const struct sr_input_module *structure);
~InputFormat();
* @param device Device to output for.
* @param options Mapping of (option name, value) pairs. */
shared_ptr<Output> create_output(shared_ptr<Device> device,
* @param device Device to output for.
* @param options Mapping of (option name, value) pairs. */
shared_ptr<Output> create_output(shared_ptr<Device> device,
- const map<string, Glib::VariantBase> &options = map<string, Glib::VariantBase>());
+ map<string, Glib::VariantBase> options = map<string, Glib::VariantBase>());
/** Create an output using this format.
* @param filename Name of destination file.
* @param device Device to output for.
* @param options Mapping of (option name, value) pairs. */
shared_ptr<Output> create_output(string filename,
shared_ptr<Device> device,
/** Create an output using this format.
* @param filename Name of destination file.
* @param device Device to output for.
* @param options Mapping of (option name, value) pairs. */
shared_ptr<Output> create_output(string filename,
shared_ptr<Device> device,
- const map<string, Glib::VariantBase> &options = map<string, Glib::VariantBase>());
+ map<string, Glib::VariantBase> options = map<string, Glib::VariantBase>());
/**
* Checks whether a given flag is set.
* @param flag Flag to check
/**
* Checks whether a given flag is set.
* @param flag Flag to check
private:
Output(shared_ptr<OutputFormat> format, shared_ptr<Device> device);
Output(shared_ptr<OutputFormat> format,
private:
Output(shared_ptr<OutputFormat> format, shared_ptr<Device> device);
Output(shared_ptr<OutputFormat> format,
- shared_ptr<Device> device, const map<string, Glib::VariantBase> &options);
+ shared_ptr<Device> device, map<string, Glib::VariantBase> options);
Output(string filename, shared_ptr<OutputFormat> format,
Output(string filename, shared_ptr<OutputFormat> format,
- shared_ptr<Device> device, const map<string, Glib::VariantBase> &options);
+ shared_ptr<Device> device, map<string, Glib::VariantBase> options);
~Output();
const struct sr_output *_structure;
~Output();
const struct sr_output *_structure;