From f2d4efeb24d0c170a99f08f9c00e2315e56b4846 Mon Sep 17 00:00:00 2001 From: "alexey.stratulat" <alexey.stratulat@demlabs.net> Date: Wed, 18 Dec 2019 15:57:30 +0700 Subject: [PATCH] [+] Added object Http and wrapping function dap_http_new --- include/wrapping_http.h | 61 +++++++++++++++++++++++++++++++++++++++++ src/wrapping_http.c | 10 +++++++ 2 files changed, 71 insertions(+) create mode 100644 include/wrapping_http.h create mode 100644 src/wrapping_http.c diff --git a/include/wrapping_http.h b/include/wrapping_http.h new file mode 100644 index 00000000..9c4841fd --- /dev/null +++ b/include/wrapping_http.h @@ -0,0 +1,61 @@ +#ifndef _WRAPPING_HTTP_ +#define _WRAPPING_HTTP_ + +#include <Python.h> +#include "dap_http.h" +#include "dap_server_python.h" + +typedef struct PyDapHttp{ + PyObject_HEAD +}PyDapHttpObject; + +PyObject *dap_http_new_py(PyObject *self, PyObject *args); + +PyMethodDef DapHttpMethods[] = { + {"new", dap_http_new_py, METH_VARARGS | METH_STATIC, ""}, + {NULL, NULL, 0, NULL} +}; + +static PyTypeObject DapHTTP_DapHTTPType = { + PyVarObject_HEAD_INIT(NULL, 0) + "CellFrame.DapHttp", /* tp_name */ + sizeof(PyDapHttpObject), /* 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 */ + "Dap hHttp object", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + DapHttpMethods, /* 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 */ +}; + +#endif // _WRAPPING_HTTP_ diff --git a/src/wrapping_http.c b/src/wrapping_http.c new file mode 100644 index 00000000..4a6284a2 --- /dev/null +++ b/src/wrapping_http.c @@ -0,0 +1,10 @@ +#include "wrapping_http.h" + +PyObject *dap_http_new_py(PyObject *self, PyObject *args){ + PyObject *obj_server; + const char * name; + if (!PyArg_ParseTuple(args, "O|s", &obj_server, &name)) + return NULL; + int res = dap_http_new(((PyDapServerObject*)obj_server)->t_server, name); + return PyLong_FromLong(res); +} -- GitLab