From bbf78d6e9eec040479b17f705b45e4e75606a890 Mon Sep 17 00:00:00 2001
From: "alexey.stratulat" <alexey.stratulat@demlabs.net>
Date: Tue, 19 Nov 2019 23:09:04 +0700
Subject: [PATCH] [+] Added wrapping function dap_chain_node_addr_by_alias of
 dap_chain_node_cli_cmd

---
 include/wrapping_dap_chain_net_node_cli.h |  6 ++++++
 src/wrapping_dap_chain_net_node_cli.c     | 10 ++++++++++
 2 files changed, 16 insertions(+)

diff --git a/include/wrapping_dap_chain_net_node_cli.h b/include/wrapping_dap_chain_net_node_cli.h
index f07eeb7..8d02783 100644
--- a/include/wrapping_dap_chain_net_node_cli.h
+++ b/include/wrapping_dap_chain_net_node_cli.h
@@ -4,6 +4,9 @@
 #include <Python.h>
 #include "dap_config.h"
 #include "dap_chain_node_cli.h"
+#include "dap_chain_node_cli_cmd.h"
+#include "wrapping_dap_chain_common_objects.h"
+#include "wrapping_dap_chain_net_node.h"
 
 #ifdef __cplusplus
 extern "C"{
@@ -23,9 +26,12 @@ PyObject *DapChainNodeCliObject_new(PyTypeObject *type_object, PyObject *args, P
 PyObject *dap_chain_node_cli_cmd_item_create_py(PyObject *self, PyObject *args);
 PyObject *dap_chain_node_cli_set_reply_text_py(PyObject *self, PyObject *args);
 
+PyObject *dap_chain_node_addr_get_by_alias_py(PyObject *self, PyObject *args);
+
 static PyMethodDef DapChainNodeCliMethods[] = {
     {"cmdItemCreate", dap_chain_node_cli_cmd_item_create_py, METH_VARARGS, ""},
     {"setReplyText", dap_chain_node_cli_set_reply_text_py, METH_VARARGS, ""},
+    {"getByAlias", dap_chain_node_addr_get_by_alias_py, METH_VARARGS | METH_STATIC, ""},
     {NULL, NULL, 0, NULL}
 };
 
diff --git a/src/wrapping_dap_chain_net_node_cli.c b/src/wrapping_dap_chain_net_node_cli.c
index 709fcb5..ab3d31f 100644
--- a/src/wrapping_dap_chain_net_node_cli.c
+++ b/src/wrapping_dap_chain_net_node_cli.c
@@ -59,6 +59,16 @@ PyObject *dap_chain_node_cli_set_reply_text_py(PyObject *self, PyObject *args){
     return PyLong_FromLong(0);
 }
 
+PyObject *dap_chain_node_addr_get_by_alias_py(PyObject *self, PyObject *args){
+    PyObject *chain_net;
+    const char *alias;
+    if (!PyArg_ParseTuple(args, "O|s", &chain_net, &alias))
+        return NULL;
+    PyObject *obj_node_addr = _PyObject_New(&DapChainNodeAddrObject_DapChainNodeAddrObjectType);
+    ((PyDapChainNodeAddrObject*)obj_node_addr)->node_addr = dap_chain_node_addr_get_by_alias(((PyDapChainNetObject*)chain_net)->chain_net, alias);
+    return Py_BuildValue("O", obj_node_addr);
+}
+
 char **PyListToString(PyObject *list){
     Py_ssize_t size = PyList_Size(list);
     char **res = calloc(sizeof(char**), (size_t)size);
-- 
GitLab