diff --git a/include/dap_events_python.h b/include/dap_events_python.h index 1924a623837ed1f250495b38296d8e71037ccd73..80af2082791f15355b8d2d6ca2f7fa8c410516a9 100644 --- a/include/dap_events_python.h +++ b/include/dap_events_python.h @@ -1,10 +1,8 @@ -#ifndef _DAP_EVENTS_PYTHON_H -#define _DAP_EVENTS_PYTHON_H - +#pragma once #include "Python.h" #include "dap_events.h" -//#include "dap_events_socket_python.h" +#include "dap_events_socket_python.h" #ifdef __cplusplus @@ -56,5 +54,3 @@ PyObject *dap_events_wait_py(PyObject *self, PyObject *args); //dap_events_t *sh #ifdef __cplusplus } #endif - -#endif diff --git a/include/dap_events_socket_python.h b/include/dap_events_socket_python.h index 4bd9cc79f22c47a03572378603f19c53d9e7c702..d396864814acac780047c805aa40e65e44c7e01c 100644 --- a/include/dap_events_socket_python.h +++ b/include/dap_events_socket_python.h @@ -1,11 +1,14 @@ -#ifndef _DAP_EVENTS_SOCKET_PYTHON_H_ -#define _DAP_EVENTS_SOCKET_PYTHON_H_ +#pragma once #include "Python.h" #include "dap_events_socket.h" #include "dap_events_python.h" #include "dap_common.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef struct PyDapEventsSocket{ PyObject_HEAD dap_events_socket_t *t_events_socket; @@ -63,5 +66,3 @@ PyObject *dap_events_socket_shrink_buf_in_py(PyObject *self, PyObject *args);//d #ifdef __cplusplus } #endif - -#endif diff --git a/include/libdap-server-core-python.h b/include/libdap-server-core-python.h index 411e65e535ff4883fbd8ad473c8ce1d16c738d6d..c96f4d27241826f987dbaab5b0e4d19e25ac38c7 100644 --- a/include/libdap-server-core-python.h +++ b/include/libdap-server-core-python.h @@ -60,6 +60,8 @@ static PyMethodDef DapServerCorePythonMethods[] = { {"eventsDellete", dap_events_delete_py, METH_VARARGS, ""}, {"eventsStart", dap_events_start_py, METH_VARARGS, ""}, {"eventsWait", dap_events_wait_py, METH_VARARGS, ""}, + {"eventsSocketRemoveAndDelete", dap_events_socket_remove_and_delete_py, METH_VARARGS, ""}, + {"eventsKillSocket", dap_events_kill_socket_py, METH_VARARGS, ""}, /* Events Socket */ {"eventsSocketInit", dap_events_socket_init_py, METH_NOARGS, ""}, {"eventsSocketDeinit", dap_events_socket_deinit_py, METH_NOARGS, ""}, diff --git a/src/dap_events_python.c b/src/dap_events_python.c index 0bf5307311de7f2a8ce1f416e84836a726a876d9..726120f0477bec82e16db69b2cd4e16ac933706b 100644 --- a/src/dap_events_python.c +++ b/src/dap_events_python.c @@ -30,10 +30,24 @@ PyObject *dap_events_delete_py(PyObject *self, PyObject *args){ } //void dap_events_socket_remove_and_delete( dap_events_socket_t* a_es ); PyObject *dap_events_socket_remove_and_delete_py(PyObject *self, PyObject *args){ + PyObject *in_obj; + PyObject *in_bool; + if (!PyArg_ParseTuple(args, "O|O", &in_obj, &in_bool)){ + return NULL; + } + bool preserve_inheritor = true; + if (in_bool == Py_False) + preserve_inheritor = false; + dap_events_socket_remove_and_delete(((PyDapEventsSocketObject*)in_obj)->t_events_socket, preserve_inheritor); return PyLong_FromLong(0); } PyObject *dap_events_kill_socket_py(PyObject *self, PyObject *args){ + PyObject *in_obj; + if (!PyArg_ParseTuple(args, "O", &in_obj)){ + return NULL; + } + dap_events_kill_socket(((PyDapEventsSocketObject*)in_obj)->t_events_socket); return PyLong_FromLong(0); }