Newer
Older
#include <Python.h>
#include "dap_config.h"
#include "dap_chain_node_cli.h"

alexey.stratulat
committed
#include "dap_chain_node_cli_cmd.h"

alexey.stratulat
committed
#include "wrapping_dap_chain_common.h"

alexey.stratulat
committed
#include "wrapping_dap_chain_net_node.h"
#include "utlist.h"
typedef struct PyDapAppCliServer{
PyObject_HEAD
cmdfunc_t *func;
}PyDapAppCliServerObject;
typedef struct element_str_reply{
char **str_reply;
size_t id;
struct element_str_reply *next;
}element_str_reply_t;
static element_str_reply_t *l_str_reply_list;
size_t elements_str_reply_add(char** str_reply);
int elements_str_reply_cmp_by_id(element_str_reply_t *e1, element_str_reply_t *e2);
char** elements_str_reply_get_by_id(size_t id);
void elements_str_reply_delete(size_t id);
void elements_str_reply_delete_all();
typedef struct element_py_func{
char *name;
PyObject *func;
struct element_py_func *next;
}element_py_func_t;
static element_py_func_t *l_element_py_func_list;
void element_py_func_add(const char *name, PyObject *func);
int element_py_func_cmp_by_name(element_py_func_t *e1, element_py_func_t *e2);
PyObject *element_py_func_get(char *name);
void element_py_func_del_by_name(char *name);
void element_py_func_del_all();
//static PyObject *binded_object_cmdfunc = NULL;
//static char** l_str_reply = NULL;
int dap_chain_node_cli_init_py(dap_config_t *g_config);
void dap_chain_node_cli_delete_py(void);
PyObject *DapChainNodeCliObject_new(PyTypeObject *type_object, PyObject *args, PyObject *kwds);
PyObject *dap_chain_node_cli_cmd_item_create_py(PyObject *a_self, PyObject *a_args);
PyObject *dap_chain_node_cli_set_reply_text_py(PyObject *self, PyObject *args);

alexey.stratulat
committed
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| METH_STATIC, ""},
{"setReplyText", dap_chain_node_cli_set_reply_text_py, METH_VARARGS| METH_STATIC, ""},

alexey.stratulat
committed
{"getByAlias", dap_chain_node_addr_get_by_alias_py, METH_VARARGS | METH_STATIC, ""},
{NULL, NULL, 0, NULL}
};
static PyTypeObject DapChainNodeCliObject_DapChainNodeCliObjectType = {
PyVarObject_HEAD_INIT(NULL, 0)
"AppCliServer", /* tp_name */
sizeof(PyDapAppCliServerObject), /* tp_basicsize */
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
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 node cli object", /* tp_doc */
0, /* tp_traverse */
0, /* tp_clear */
0, /* tp_richcompare */
0, /* tp_weaklistoffset */
0, /* tp_iter */
0, /* tp_iternext */
DapChainNodeCliMethods, /* 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 */
DapChainNodeCliObject_new, /* tp_new */
};
char **PyListToString(PyObject *list);
//PyObject *stringToPyList(char **list);
PyObject *stringToPyList(int argc, char **list);