diff options
-rw-r--r-- | xklavier/xklavier.override | 282 |
1 files changed, 70 insertions, 212 deletions
diff --git a/xklavier/xklavier.override b/xklavier/xklavier.override index e4c36c4..e83b27b 100644 --- a/xklavier/xklavier.override +++ b/xklavier/xklavier.override @@ -86,6 +86,69 @@ PyTypeObject G_GNUC_INTERNAL PyXklConfigItem_Type = { (freefunc)0, /* tp_free */ (inquiry)0 /* tp_is_gc */ }; + +static void +pyxkl_config_process_one_item(XklConfigRegistry * config, + const XklConfigItem * item, gpointer data) +{ + PyGILState_STATE state; + PyGtkCustomNotify *cunote = data; + PyObject *retobj, *py_item, *py_config; + gboolean ret = FALSE; + + state = pyg_gil_state_ensure(); + + py_config = pygobject_new((GObject *)config); + py_item = pygobject_new((GObject *)item); + + if (cunote->data) + retobj = PyObject_CallFunction(cunote->func, "NNO", py_config, + py_item, cunote->data); + else + retobj = PyObject_CallFunction(cunote->func, "NN", py_config, + py_item); + + if (retobj != NULL) { + Py_DECREF(retobj); + } else { + PyErr_Print(); + } + + pyg_gil_state_release(state); +} + +static void +pyxkl_config_process_two_item(XklConfigRegistry * config, + const XklConfigItem * item, const XklConfigItem *subitem, + gpointer data) +{ + PyGILState_STATE state; + PyGtkCustomNotify *cunote = data; + PyObject *retobj, *py_item, *py_subitem, *py_config; + gboolean ret = FALSE; + + state = pyg_gil_state_ensure(); + + py_config = pygobject_new((GObject *)config); + py_item = pygobject_new((GObject *)item); + py_subitem = pygobject_new((GObject *)subitem); + + if (cunote->data) + retobj = PyObject_CallFunction(cunote->func, "NNNO", py_config, + py_item, py_subitem, cunote->data); + else + retobj = PyObject_CallFunction(cunote->func, "NNN", py_config, + py_item, py_subitem); + + if (retobj != NULL) { + Py_DECREF(retobj); + } else { + PyErr_Print(); + } + + pyg_gil_state_release(state); +} + %% init pygobject_register_class(d, "XklConfigItem", XKL_TYPE_CONFIG_ITEM, &PyXklConfigItem_Type, Py_BuildValue("(O)", &PyGObject_Type)); @@ -124,35 +187,6 @@ _wrap_xkl_engine_get_instance(PyGObject *self, PyObject *args, PyObject *kwargs) } %% override xkl_config_registry_foreach_model kwargs -static void -pyxkl_config_foreach_model_cb(XklConfigRegistry * config, - const XklConfigItem * item, gpointer data) -{ - PyGILState_STATE state; - PyGtkCustomNotify *cunote = data; - PyObject *retobj, *py_item, *py_config; - gboolean ret = FALSE; - - state = pyg_gil_state_ensure(); - - py_config = pygobject_new((GObject *)config); - py_item = pygobject_new((GObject *)item); - - if (cunote->data) - retobj = PyObject_CallFunction(cunote->func, "NNO", py_config, - py_item, cunote->data); - else - retobj = PyObject_CallFunction(cunote->func, "NN", py_config, - py_item); - - if (retobj != NULL) { - Py_DECREF(retobj); - } else { - PyErr_Print(); - } - - pyg_gil_state_release(state); -} static PyObject * _wrap_xkl_config_registry_foreach_model(PyGObject *self, PyObject *args, PyObject *kwargs) { @@ -176,7 +210,7 @@ _wrap_xkl_config_registry_foreach_model(PyGObject *self, PyObject *args, PyObjec Py_XINCREF(cunote.data); xkl_config_registry_foreach_model(XKL_CONFIG_REGISTRY(self->obj), - pyxkl_config_foreach_model_cb, + pyxkl_config_process_one_item, (gpointer)&cunote); Py_DECREF(cunote.func); @@ -187,35 +221,6 @@ _wrap_xkl_config_registry_foreach_model(PyGObject *self, PyObject *args, PyObjec } %% override xkl_config_registry_foreach_layout kwargs -static void -pyxkl_config_foreach_layout_cb(XklConfigRegistry * config, - const XklConfigItem * item, gpointer data) -{ - PyGILState_STATE state; - PyGtkCustomNotify *cunote = data; - PyObject *retobj, *py_item, *py_config; - gboolean ret = FALSE; - - state = pyg_gil_state_ensure(); - - py_config = pygobject_new((GObject *)config); - py_item = pygobject_new((GObject *)item); - - if (cunote->data) - retobj = PyObject_CallFunction(cunote->func, "NNO", py_config, - py_item, cunote->data); - else - retobj = PyObject_CallFunction(cunote->func, "NN", py_config, - py_item); - - if (retobj != NULL) { - Py_DECREF(retobj); - } else { - PyErr_Print(); - } - - pyg_gil_state_release(state); -} static PyObject * _wrap_xkl_config_registry_foreach_layout(PyGObject *self, PyObject *args, PyObject *kwargs) { @@ -239,7 +244,7 @@ _wrap_xkl_config_registry_foreach_layout(PyGObject *self, PyObject *args, PyObje Py_XINCREF(cunote.data); xkl_config_registry_foreach_layout(XKL_CONFIG_REGISTRY(self->obj), - pyxkl_config_foreach_layout_cb, + pyxkl_config_process_one_item, (gpointer)&cunote); Py_DECREF(cunote.func); @@ -250,35 +255,6 @@ _wrap_xkl_config_registry_foreach_layout(PyGObject *self, PyObject *args, PyObje } %% override xkl_config_registry_foreach_layout_variant kwargs -static void -pyxkl_config_foreach_layout_variant_cb(XklConfigRegistry * config, - const XklConfigItem * item, gpointer data) -{ - PyGILState_STATE state; - PyGtkCustomNotify *cunote = data; - PyObject *retobj, *py_item, *py_config; - gboolean ret = FALSE; - - state = pyg_gil_state_ensure(); - - py_config = pygobject_new((GObject *)config); - py_item = pygobject_new((GObject *)item); - - if (cunote->data) - retobj = PyObject_CallFunction(cunote->func, "NNO", py_config, - py_item, cunote->data); - else - retobj = PyObject_CallFunction(cunote->func, "NN", py_config, - py_item); - - if (retobj != NULL) { - Py_DECREF(retobj); - } else { - PyErr_Print(); - } - - pyg_gil_state_release(state); -} static PyObject * _wrap_xkl_config_registry_foreach_layout_variant(PyGObject *self, PyObject *args, PyObject *kwargs) { @@ -303,7 +279,7 @@ _wrap_xkl_config_registry_foreach_layout_variant(PyGObject *self, PyObject *args Py_XINCREF(cunote.data); xkl_config_registry_foreach_layout_variant(XKL_CONFIG_REGISTRY(self->obj), layout_name, - pyxkl_config_foreach_layout_variant_cb, + pyxkl_config_process_one_item, (gpointer)&cunote); Py_DECREF(cunote.func); @@ -314,35 +290,6 @@ _wrap_xkl_config_registry_foreach_layout_variant(PyGObject *self, PyObject *args } %% override xkl_config_registry_foreach_country kwargs -static void -pyxkl_config_foreach_country_cb(XklConfigRegistry * config, - const XklConfigItem * item, gpointer data) -{ - PyGILState_STATE state; - PyGtkCustomNotify *cunote = data; - PyObject *retobj, *py_item, *py_config; - gboolean ret = FALSE; - - state = pyg_gil_state_ensure(); - - py_config = pygobject_new((GObject *)config); - py_item = pygobject_new((GObject *)item); - - if (cunote->data) - retobj = PyObject_CallFunction(cunote->func, "NNO", py_config, - py_item, cunote->data); - else - retobj = PyObject_CallFunction(cunote->func, "NN", py_config, - py_item); - - if (retobj != NULL) { - Py_DECREF(retobj); - } else { - PyErr_Print(); - } - - pyg_gil_state_release(state); -} static PyObject * _wrap_xkl_config_registry_foreach_country(PyGObject *self, PyObject *args, PyObject *kwargs) { @@ -366,7 +313,7 @@ _wrap_xkl_config_registry_foreach_country(PyGObject *self, PyObject *args, PyObj Py_XINCREF(cunote.data); xkl_config_registry_foreach_country(XKL_CONFIG_REGISTRY(self->obj), - pyxkl_config_foreach_country_cb, + pyxkl_config_process_one_item, (gpointer)&cunote); Py_DECREF(cunote.func); @@ -377,37 +324,6 @@ _wrap_xkl_config_registry_foreach_country(PyGObject *self, PyObject *args, PyObj } %% override xkl_config_registry_foreach_country_variant kwargs -static void -pyxkl_config_foreach_country_variant_cb(XklConfigRegistry * config, - const XklConfigItem * item, const XklConfigItem *subitem, - gpointer data) -{ - PyGILState_STATE state; - PyGtkCustomNotify *cunote = data; - PyObject *retobj, *py_item, *py_subitem, *py_config; - gboolean ret = FALSE; - - state = pyg_gil_state_ensure(); - - py_config = pygobject_new((GObject *)config); - py_item = pygobject_new((GObject *)item); - py_subitem = pygobject_new((GObject *)subitem); - - if (cunote->data) - retobj = PyObject_CallFunction(cunote->func, "NNNO", py_config, - py_item, py_subitem, cunote->data); - else - retobj = PyObject_CallFunction(cunote->func, "NNN", py_config, - py_item, py_subitem); - - if (retobj != NULL) { - Py_DECREF(retobj); - } else { - PyErr_Print(); - } - - pyg_gil_state_release(state); -} static PyObject * _wrap_xkl_config_registry_foreach_country_variant(PyGObject *self, PyObject *args, PyObject *kwargs) { @@ -432,7 +348,7 @@ _wrap_xkl_config_registry_foreach_country_variant(PyGObject *self, PyObject *arg Py_XINCREF(cunote.data); xkl_config_registry_foreach_country_variant(XKL_CONFIG_REGISTRY(self->obj), country_name, - pyxkl_config_foreach_country_variant_cb, + pyxkl_config_process_two_item, (gpointer)&cunote); Py_DECREF(cunote.func); @@ -443,35 +359,6 @@ _wrap_xkl_config_registry_foreach_country_variant(PyGObject *self, PyObject *arg } %% override xkl_config_registry_foreach_option_group kwargs -static void -pyxkl_config_foreach_option_group_cb(XklConfigRegistry * config, - const XklConfigItem * item, gpointer data) -{ - PyGILState_STATE state; - PyGtkCustomNotify *cunote = data; - PyObject *retobj, *py_item, *py_config; - gboolean ret = FALSE; - - state = pyg_gil_state_ensure(); - - py_config = pygobject_new((GObject *)config); - py_item = pygobject_new((GObject *)item); - - if (cunote->data) - retobj = PyObject_CallFunction(cunote->func, "NNO", py_config, - py_item, cunote->data); - else - retobj = PyObject_CallFunction(cunote->func, "NN", py_config, - py_item); - - if (retobj != NULL) { - Py_DECREF(retobj); - } else { - PyErr_Print(); - } - - pyg_gil_state_release(state); -} static PyObject * _wrap_xkl_config_registry_foreach_option_group(PyGObject *self, PyObject *args, PyObject *kwargs) { @@ -495,7 +382,7 @@ _wrap_xkl_config_registry_foreach_option_group(PyGObject *self, PyObject *args, Py_XINCREF(cunote.data); xkl_config_registry_foreach_option_group(XKL_CONFIG_REGISTRY(self->obj), - pyxkl_config_foreach_option_group_cb, + pyxkl_config_process_one_item, (gpointer)&cunote); Py_DECREF(cunote.func); @@ -506,35 +393,6 @@ _wrap_xkl_config_registry_foreach_option_group(PyGObject *self, PyObject *args, } %% override xkl_config_registry_foreach_option kwargs -static void -pyxkl_config_foreach_option_cb(XklConfigRegistry * config, - const XklConfigItem * item, gpointer data) -{ - PyGILState_STATE state; - PyGtkCustomNotify *cunote = data; - PyObject *retobj, *py_item, *py_config; - gboolean ret = FALSE; - - state = pyg_gil_state_ensure(); - - py_config = pygobject_new((GObject *)config); - py_item = pygobject_new((GObject *)item); - - if (cunote->data) - retobj = PyObject_CallFunction(cunote->func, "NNO", py_config, - py_item, cunote->data); - else - retobj = PyObject_CallFunction(cunote->func, "NN", py_config, - py_item); - - if (retobj != NULL) { - Py_DECREF(retobj); - } else { - PyErr_Print(); - } - - pyg_gil_state_release(state); -} static PyObject * _wrap_xkl_config_registry_foreach_option(PyGObject *self, PyObject *args, PyObject *kwargs) { @@ -559,7 +417,7 @@ _wrap_xkl_config_registry_foreach_option(PyGObject *self, PyObject *args, PyObje Py_XINCREF(cunote.data); xkl_config_registry_foreach_option(XKL_CONFIG_REGISTRY(self->obj), option_group_name, - pyxkl_config_foreach_option_cb, + pyxkl_config_process_one_item, (gpointer)&cunote); Py_DECREF(cunote.func); |