C++: Avoid const ref args to appease Java bindings
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.
This commit is contained in:
parent
bf03d63565
commit
9e7176bd00
|
@ -278,7 +278,7 @@ shared_ptr<Packet> Context::create_header_packet(Glib::TimeVal start_time)
|
|||
}
|
||||
|
||||
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)
|
||||
|
@ -311,9 +311,9 @@ shared_ptr<Packet> Context::create_logic_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,
|
||||
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);
|
||||
|
@ -325,7 +325,7 @@ shared_ptr<Packet> Context::create_analog_packet(
|
|||
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;
|
||||
|
@ -407,7 +407,7 @@ string Driver::long_name() const
|
|||
}
|
||||
|
||||
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)
|
||||
|
@ -1274,7 +1274,7 @@ map<string, shared_ptr<Option>> InputFormat::options()
|
|||
}
|
||||
|
||||
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)
|
||||
|
@ -1423,18 +1423,18 @@ map<string, shared_ptr<Option>> OutputFormat::options()
|
|||
}
|
||||
|
||||
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>{
|
||||
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,
|
||||
shared_ptr<Device> device, const map<string, Glib::VariantBase> &options)
|
||||
shared_ptr<Device> device, map<string, Glib::VariantBase> options)
|
||||
{
|
||||
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>{}};
|
||||
}
|
||||
|
||||
|
@ -1444,22 +1444,22 @@ bool OutputFormat::test_flag(const OutputFlag *flag) const
|
|||
}
|
||||
|
||||
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)),
|
||||
_options(options)
|
||||
_options(move(options))
|
||||
{
|
||||
}
|
||||
|
||||
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)),
|
||||
_options(options)
|
||||
_options(move(options))
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -269,15 +269,15 @@ public:
|
|||
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(
|
||||
const vector<shared_ptr<Channel> > &channels,
|
||||
vector<shared_ptr<Channel> > channels,
|
||||
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);
|
||||
|
@ -352,8 +352,8 @@ public:
|
|||
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;
|
||||
|
@ -798,8 +798,8 @@ public:
|
|||
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();
|
||||
|
@ -893,14 +893,14 @@ public:
|
|||
* @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,
|
||||
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
|
||||
|
@ -929,9 +929,9 @@ public:
|
|||
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,
|
||||
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;
|
||||
|
|
Loading…
Reference in New Issue