From 20d2a9e6979e1317813d2251cd4aae1a9909cecb Mon Sep 17 00:00:00 2001 From: "alexey.stratulat" <alexey.stratulat@demlabs.net> Date: Fri, 13 Dec 2019 16:13:36 +0700 Subject: [PATCH] [+] Added wrapping struct dap_chain_net_srv_uid_t and funtion dap_chain_net_srv_uid_from_str --- include/wrapping_dap_chain_common.h | 62 ++++++++++++++++++++++++++++- src/wrapping_dap_chain_common.c | 9 +++++ 2 files changed, 69 insertions(+), 2 deletions(-) diff --git a/include/wrapping_dap_chain_common.h b/include/wrapping_dap_chain_common.h index 63bd7845..a2028c4e 100644 --- a/include/wrapping_dap_chain_common.h +++ b/include/wrapping_dap_chain_common.h @@ -134,7 +134,7 @@ typedef struct PyDapChainNetId{ PyObject *dap_chain_net_id_from_str_py(PyObject *self, PyObject *args); -PyMethodDef DapChainNetIdObject[] = { +PyMethodDef DapChainNetIdObjectMethods[] = { {"fromStr", (PyCFunction)dap_chain_net_id_from_str_py, METH_VARARGS, ""}, {NULL, NULL, 0, NULL} }; @@ -168,7 +168,65 @@ static PyTypeObject DapChainNetIdObject_DapChainNetIdObjectType = { 0, /* tp_weaklistoffset */ 0, /* tp_iter */ 0, /* tp_iternext */ - 0, /* tp_methods */ + DapChainNetIdObjectMethods, /* tp_methods */ + 0, /* tp_members */ + 0, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + 0, /* tp_init */ + 0, /* tp_alloc */ + PyType_GenericNew, /* tp_new */ +}; + +/*=================*/ + +/* Chain net srv uid */ + +typedef struct PyDapChainNetSrvUID{ + PyObject_HEAD + dap_chain_net_srv_uid_t net_srv_uid; +}PyDapChainNetSrvUIDObject; + +PyObject *dap_chain_net_srv_uid_from_str_py(PyObject *self, PyObject *args); + +PyMethodDef DapChainNetSrvUIDObject[] = { + {"fromStr", (PyCFunction)dap_chain_net_srv_uid_from_str_py, METH_VARARGS, ""}, + {NULL, NULL, 0, NULL} +}; + +static PyTypeObject DapChainNetSrvUIDObject_DapChainNetSrvUIDObjectType = { + PyVarObject_HEAD_INIT(NULL, 0) + "CellFrame.ChainNetSrvUID", /* tp_name */ + sizeof(dap_chain_net_srv_uid_t), /* tp_basicsize */ + 0, /* tp_itemsize */ + 0, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | + Py_TPFLAGS_BASETYPE, /* tp_flags */ + "Chain net srv uid object", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + DapChainNetSrvUIDObject, /* tp_methods */ 0, /* tp_members */ 0, /* tp_getset */ 0, /* tp_base */ diff --git a/src/wrapping_dap_chain_common.c b/src/wrapping_dap_chain_common.c index c70f73fe..21cf5647 100644 --- a/src/wrapping_dap_chain_common.c +++ b/src/wrapping_dap_chain_common.c @@ -36,3 +36,12 @@ PyObject *dap_chain_net_id_from_str_py(PyObject *self, PyObject *args){ ((PyDapChainNetIdObject*)obj_net_id)->net_id = dap_chain_net_id_from_str(str); return Py_BuildValue("O", obj_net_id); } + +PyObject *dap_chain_net_srv_uid_from_str_py(PyObject *self, PyObject *args){ + const char *str; + if (!PyArg_ParseTuple(args, "s", &str)) + return NULL; + PyObject *obj = _PyObject_New(&DapChainNetSrvUIDObject_DapChainNetSrvUIDObjectType); + ((PyDapChainNetSrvUIDObject*)obj)->net_srv_uid = dap_chain_net_srv_uid_from_str(str); + return Py_BuildValue("O", obj); +} -- GitLab