From 8f1ea69ce6b175e800f9ec58785a2bbd4bc1ddf1 Mon Sep 17 00:00:00 2001 From: "alexey.stratulat" <alexey.stratulat@demlabs.net> Date: Mon, 18 Nov 2019 15:04:45 +0700 Subject: [PATCH] [*] Improved work with wrapper on dap_chain_type. Now return and object containing a wrapper over dap_chain_type_t and not a number. --- include/libdap_chain_type_python.h | 1 + src/libdap_chain_type_python.c | 20 +++++++++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/include/libdap_chain_type_python.h b/include/libdap_chain_type_python.h index 8cb8ae63..289866c6 100644 --- a/include/libdap_chain_type_python.h +++ b/include/libdap_chain_type_python.h @@ -5,6 +5,7 @@ typedef struct PyChainType{ PyObject_HEAD + dap_chain_type_t chain_type; } PyChainTypeObject; PyObject* CHAIN_TYPE_FIRST_PY(); diff --git a/src/libdap_chain_type_python.c b/src/libdap_chain_type_python.c index 7ba65602..2ce46a8e 100644 --- a/src/libdap_chain_type_python.c +++ b/src/libdap_chain_type_python.c @@ -1,17 +1,27 @@ #include "libdap_chain_type_python.h" PyObject* CHAIN_TYPE_FIRST_PY(){ - return PyLong_FromLong(CHAIN_TYPE_FIRST); + PyObject *dap_chain_obj = _PyObject_New(&dapChainTypeObject_dapChainTypeType); + ((PyChainTypeObject*)dap_chain_obj)->chain_type = CHAIN_TYPE_FIRST; + return Py_BuildValue("O", &dap_chain_obj); } PyObject* CHAIN_TYPE_TOKEN_PY(){ - return PyLong_FromLong(CHAIN_TYPE_TOKEN); + PyObject *dap_chain_obj = _PyObject_New(&dapChainTypeObject_dapChainTypeType); + ((PyChainTypeObject*)dap_chain_obj)->chain_type = CHAIN_TYPE_TOKEN; + return Py_BuildValue("O", &dap_chain_obj); } PyObject* CHAIN_TYPE_EMISSION_PY(){ - return PyLong_FromLong(CHAIN_TYPE_EMISSION); + PyObject *dap_chain_obj = _PyObject_New(&dapChainTypeObject_dapChainTypeType); + ((PyChainTypeObject*)dap_chain_obj)->chain_type = CHAIN_TYPE_EMISSION; + return Py_BuildValue("O", &dap_chain_obj); } PyObject* CHAIN_TYPE_TX_PY(){ - return PyLong_FromLong(CHAIN_TYPE_TX); + PyObject *dap_chain_obj = _PyObject_New(&dapChainTypeObject_dapChainTypeType); + ((PyChainTypeObject*)dap_chain_obj)->chain_type = CHAIN_TYPE_TX; + return Py_BuildValue("O", &dap_chain_obj); } PyObject* CHAIN_TYPE_LAST_PY(){ - return PyLong_FromLong(CHAIN_TYPE_LAST); + PyObject *dap_chain_obj = _PyObject_New(&dapChainTypeObject_dapChainTypeType); + ((PyChainTypeObject*)dap_chain_obj)->chain_type = CHAIN_TYPE_LAST; + return Py_BuildValue("O", &dap_chain_obj); } -- GitLab