From f56d2f59aacaffdfacb80e6308441d991e5e1e75 Mon Sep 17 00:00:00 2001
From: "alexey.stratulat" <alexey.stratulat@demlabs.net>
Date: Wed, 18 Dec 2019 16:03:54 +0700
Subject: [PATCH] [+] Added object StreamCtl and wrapping function
 dap_stream_ctl_add_proc

---
 include/wrapping_dap_stream_ctl.h | 63 +++++++++++++++++++++++++++++++
 src/wrapping_dap_stream_ctl.c     | 10 +++++
 2 files changed, 73 insertions(+)
 create mode 100644 include/wrapping_dap_stream_ctl.h
 create mode 100644 src/wrapping_dap_stream_ctl.c

diff --git a/include/wrapping_dap_stream_ctl.h b/include/wrapping_dap_stream_ctl.h
new file mode 100644
index 00000000..dd618f26
--- /dev/null
+++ b/include/wrapping_dap_stream_ctl.h
@@ -0,0 +1,63 @@
+#ifndef _WRAPPING_DAP_STREAM_CTL_
+#define _WRAPPING_DAP_STREAM_CTL_
+
+#include <Python.h>
+#include "dap_stream_ctl.h"
+#include "dap_server_python.h"
+#include "dap_http.h"
+#include "dap_enc_http.h"
+
+typedef struct PyDapStreamCtl{
+    PyObject_HEAD
+}PyDapStreamCtlObject;
+
+PyObject *dap_stream_ctl_add_proc_py(PyObject *self, PyObject *args);
+
+PyMethodDef DapStreamCtlMethods[] = {
+    {"addProcHttp", dap_stream_ctl_add_proc_py, METH_VARARGS | METH_STATIC, ""},
+    {NULL, NULL, 0, NULL}
+};
+
+static PyTypeObject DapStreamCtl_DapStreamCtlType = {
+    PyVarObject_HEAD_INIT(NULL, 0)
+    "CellFrame.DapStreamCtl",             /* tp_name */
+    sizeof(PyDapStreamCtlObject),                   /* 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 stream ctl object",                         /* tp_doc */
+    0,		                                       /* tp_traverse */
+    0,                        		               /* tp_clear */
+    0,		                                       /* tp_richcompare */
+    0,                        		               /* tp_weaklistoffset */
+    0,		                                       /* tp_iter */
+    0,                        		               /* tp_iternext */
+    DapStreamCtlMethods,                   /* 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_STREAM_CTL_
diff --git a/src/wrapping_dap_stream_ctl.c b/src/wrapping_dap_stream_ctl.c
new file mode 100644
index 00000000..8e1f8d65
--- /dev/null
+++ b/src/wrapping_dap_stream_ctl.c
@@ -0,0 +1,10 @@
+#include "wrapping_dap_stream_ctl.h"
+
+PyObject *dap_stream_ctl_add_proc_py(PyObject *self, PyObject *args){
+    PyObject *obj_server;
+    const char *STREAM_CTL_URL;
+    if (!PyArg_ParseTuple(args, "O|s", &obj_server, &STREAM_CTL_URL))
+        return  NULL;
+    dap_stream_ctl_add_proc(DAP_HTTP(((PyDapServerObject*)obj_server)->t_server), STREAM_CTL_URL);
+    return PyLong_FromLong(0);
+}
-- 
GitLab