From 03a65e766326d4c43f055d07a57ec86e5bd443db Mon Sep 17 00:00:00 2001
From: "alexey.stratulat" <alexey.stratulat@demlabs.net>
Date: Wed, 18 Dec 2019 16:01:08 +0700
Subject: [PATCH] [+] Added object EncHttp and wrapping function
 enc_http_add_proc

---
 include/wrapping_dap_enc_http.h | 61 +++++++++++++++++++++++++++++++++
 src/wrapping_dap_enc_http.c     | 10 ++++++
 2 files changed, 71 insertions(+)
 create mode 100644 include/wrapping_dap_enc_http.h
 create mode 100644 src/wrapping_dap_enc_http.c

diff --git a/include/wrapping_dap_enc_http.h b/include/wrapping_dap_enc_http.h
new file mode 100644
index 00000000..9ca1da1c
--- /dev/null
+++ b/include/wrapping_dap_enc_http.h
@@ -0,0 +1,61 @@
+#ifndef _WRAPPING_DAP_ENC_HTTP_
+#define _WRAPPING_DAP_ENC_HTTP_
+
+#include <Python.h>
+#include "dap_server_python.h"
+
+typedef struct PyDapEncHttp{
+    PyObject_HEAD
+}PyDapEncHttpObject;
+
+PyObject *enc_http_add_proc_py(PyObject *self, PyObject *args);
+
+PyMethodDef DapEncHttpMethods[] = {
+    {"addProc", enc_http_add_proc_py, METH_VARARGS | METH_STATIC, ""},
+    {NULL, NULL, 0, NULL}
+};
+
+static PyTypeObject DapEncHTTP_DapEncHTTPType = {
+    PyVarObject_HEAD_INIT(NULL, 0)
+    "CellFrame.DapEncHttp",             /* tp_name */
+    sizeof(PyDapEncHttpObject),                   /* 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 enc http object",                         /* tp_doc */
+    0,		                                       /* tp_traverse */
+    0,                        		               /* tp_clear */
+    0,		                                       /* tp_richcompare */
+    0,                        		               /* tp_weaklistoffset */
+    0,		                                       /* tp_iter */
+    0,                        		               /* tp_iternext */
+    DapEncHttpMethods,                   /* 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_DAP_ENC_HTTP_
diff --git a/src/wrapping_dap_enc_http.c b/src/wrapping_dap_enc_http.c
new file mode 100644
index 00000000..54ddc8ca
--- /dev/null
+++ b/src/wrapping_dap_enc_http.c
@@ -0,0 +1,10 @@
+#include "wrapping_dap_enc_http.h"
+
+PyObject *enc_http_add_proc_py(PyObject *self, PyObject *args){
+    PyObject *obj_server;
+    const char *HTTP_URL;
+    if (!PyArg_ParseTuple(args, "O|s", &obj_server, &HTTP_URL))
+        return NULL;
+    enc_http_add_proc_py(((PyDapServerObject*)obj_server)->t_server, HTTP_URL);
+    return PyLong_FromLong(0);
+}
-- 
GitLab