PyTypeObject *IOChannel;
PyTypeObject *PollFD;
-#include "../../../../config.h"
+#include "config.h"
#if PYGOBJECT_FLAGS_SIGNED
typedef gint pyg_flags_type;
/* Convert from a Python type to Glib::Variant, according to config key data type. */
Glib::VariantBase python_to_variant_by_key(PyObject *input, const sigrok::ConfigKey *key)
{
- enum sr_datatype type = key->get_data_type()->get_id();
+ enum sr_datatype type = key->data_type()->id();
if (type == SR_T_UINT64 && PyInt_Check(input))
return Glib::Variant<guint64>::create(PyInt_AsLong(input));
if (type == SR_T_UINT64 && PyLong_Check(input))
return Glib::Variant<guint64>::create(PyLong_AsLong(input));
else if (type == SR_T_STRING && PyString_Check(input))
- return Glib::Variant<std::string>::create(PyString_AsString(input));
+ return Glib::Variant<Glib::ustring>::create(PyString_AsString(input));
else if (type == SR_T_BOOL && PyBool_Check(input))
return Glib::Variant<bool>::create(input == Py_True);
else if (type == SR_T_FLOAT && PyFloat_Check(input))
Glib::VariantBase python_to_variant_by_option(PyObject *input,
std::shared_ptr<sigrok::Option> option)
{
- GVariantType *type = option->get_default_value().get_type().gobj();
+ GVariantType *type = option->default_value().get_type().gobj();
if (type == G_VARIANT_TYPE_UINT64 && PyInt_Check(input))
return Glib::Variant<guint64>::create(PyInt_AsLong(input));
if (type == G_VARIANT_TYPE_UINT64 && PyLong_Check(input))
return Glib::Variant<guint64>::create(PyLong_AsLong(input));
else if (type == G_VARIANT_TYPE_STRING && PyString_Check(input))
- return Glib::Variant<std::string>::create(PyString_AsString(input));
+ return Glib::Variant<Glib::ustring>::create(PyString_AsString(input));
else if (type == G_VARIANT_TYPE_BOOLEAN && PyBool_Check(input))
return Glib::Variant<bool>::create(input == Py_True);
else if (type == G_VARIANT_TYPE_DOUBLE && PyFloat_Check(input))
/* Ignore these methods, we will override them below. */
%ignore sigrok::Driver::scan;
-%ignore sigrok::InputFormat::open_file;
+%ignore sigrok::InputFormat::create_input;
%ignore sigrok::OutputFormat::create_output;
%include "doc.i"
Driver.scan = _Driver_scan
}
-/* Support InputFormat.open_file() with keyword arguments. */
+/* Support InputFormat.create_input() with keyword arguments. */
%extend sigrok::InputFormat
{
- std::shared_ptr<sigrok::InputFileDevice> _open_file_kwargs(std::string filename, PyObject *dict)
+ std::shared_ptr<sigrok::Input> _create_input_kwargs(PyObject *dict)
{
- return $self->open_file(filename, dict_to_map_string(dict));
+ return $self->create_input(
+ dict_to_map_options(dict, $self->options()));
}
}
%pythoncode
{
- def _InputFormat_open_file(self, filename, **kwargs):
- return self._open_file_kwargs(filename, kwargs)
+ def _InputFormat_create_input(self, **kwargs):
+ return self._create_input(kwargs)
- InputFormat.open_file = _InputFormat_open_file
+ InputFormat.create_input = _InputFormat_create_input
}
/* Support OutputFormat.create_output() with keyword arguments. */
std::shared_ptr<sigrok::Device> device, PyObject *dict)
{
return $self->create_output(device,
- dict_to_map_options(dict, $self->get_options()));
+ dict_to_map_options(dict, $self->options()));
}
}