diff --git a/include/libdap_chain_type_python.h b/include/libdap_chain_type_python.h index 8cb8ae63884e67932d445b99136f5f5c9be7e45f..289866c69fd21263df6ef408127a417d3ebcd298 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 7ba65602d0f11cee60556e805b723e319cfe758d..2ce46a8ecd38485dbe4c82820c771641d0ff382a 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); }