Skip to content
Snippets Groups Projects
Commit ed16a830 authored by Sergei Rashitov's avatar Sergei Rashitov
Browse files

Merge submodule into cellframe-sdk-python/libdap-client-python

parents e9d79727 e6dd5de3
No related branches found
No related tags found
1 merge request!26Support 3689
Showing
with 663 additions and 1 deletion
Subproject commit 43c5689af4d7f4bf2a5bbbcecb165bc6c68d4cec
[submodule "libdap"]
path = libdap
url = https://gitlab.demlabs.net/cellframe/libdap.git
[submodule "libdap-crypto"]
path = libdap-crypto
url = https://gitlab.demlabs.net/cellframe/libdap-crypto.git
[submodule "libdap-server"]
path = libdap-server
url = https://gitlab.demlabs.net/cellframe/libdap-server.git
[submodule "libdap-server-core"]
path = libdap-server-core
url = https://gitlab.demlabs.net/cellframe/libdap-server-core.git
[submodule "libdap-server-udp"]
path = libdap-server-udp
url = https://gitlab.demlabs.net/cellframe/libdap-server-udp.git
[submodule "libdap-stream"]
path = libdap-stream
url = https://gitlab.demlabs.net/cellframe/libdap-stream.git
[submodule "libdap-stream-ch"]
path = libdap-stream-ch
url = https://gitlab.demlabs.net/cellframe/libdap-stream-ch.git
[submodule "libdap-client"]
path = libdap-client
url = https://gitlab.demlabs.net/cellframe/libdap-client.git
project(dap_client_python_module C)
cmake_minimum_required(VERSION 2.8)
set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_COLOR_MAKEFILE ON)
set(CMAKE_C_STANDARD 11)
add_definitions("-fpic")
if(UNIX)
add_definitions("-DDAP_OS_UNIX")
endif()
if (NOT (${SUBMODULES_NO_BUILD} MATCHES ON))
set (SUBMODULES_NO_BUILD ON)
if (NOT (TARGET dap_core))
add_subdirectory(libdap)
target_compile_options(
dap_core PRIVATE
"-fpic"
)
endif()
if (NOT (TARGET dap_crypto))
add_subdirectory(libdap-crypto)
target_compile_options(
dap_crypto PRIVATE
"-fpic"
)
endif()
if (NOT (TARGET dap_server_core))
add_subdirectory(libdap-server-core)
target_compile_options(
dap_server_core PRIVATE
"-fpic"
)
endif()
if (NOT (TARGET libdap-server))
add_subdirectory(libdap-server)
# target_compile_options(
# libdap-server PRIVATE
# "-fpic"
# )
endif()
if (NOT (TARGET dap_stream))
add_subdirectory(libdap-stream)
target_compile_options(
dap_stream PRIVATE
"-fpic"
)
endif()
if (NOT (TARGET dap_stream_ch))
add_subdirectory(libdap-stream-ch)
target_compile_options(
dap_stream_ch PRIVATE
"-fpic"
)
endif()
if (NOT (TARGET dap_udp_server))
add_subdirectory(libdap-server-udp)
target_compile_options(
dap_udp_server PRIVATE
"-fpic"
)
endif()
if (NOT (TARGET dap_client))
add_subdirectory(libdap-client)
target_compile_options(
dap_client PRIVATE
"-fpic"
)
endif()
endif()
#add_definitions("-DDAP_APP_NAME=\"TestPRJ\" -DSYSTEM_CONFIGS_DIR=\"${CMAKE_CURRENT_BINARY_DIR}\"")
file(GLOB CLIENT_PYTHON_SRCS src/*.c)
file(GLOB CLIENT_PYTHON_HEADERS include/*.h)
set(Python_ADDITIONAL_VERSIONS 3.7 3.6 3.5 3.4)
find_package (PythonLibs REQUIRED)
include_directories(${PYTHON_INCLUDE_DIR} include/)
add_library(${PROJECT_NAME} STATIC ${CLIENT_PYTHON_SRCS} ${CLIENT_PYTHON_HEADERS})
target_link_libraries(${PROJECT_NAME})
target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_client )
target_include_directories(${PROJECT_NAME} PUBLIC include/ )
# libdap-client-python
#define PY_SSIZE_T_CLEAN
#include <Python.h>
#include "dap_client.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct PyDapClient{
PyObject_HEAD
dap_client_t *client;
}PyDapClientObject;
int dap_client_init_py();
void dap_client_deinit_py();
//PyObject *dap_client_new_py(PyObject *)
PyObject *dap_client_delete_py(PyObject *self, PyObject *args);
PyObject *dao_client_set_uplink_py(PyObject *self, PyObject *args);
PyObject *dap_client_get_uplink_addr_py(PyObject *self, PyObject *args);
PyObject *dap_client_get_uplink_port_py(PyObject *self, PyObject *args);
PyObject *dap_client_get_key_stream_py(PyObject *self, PyObject *args);
PyObject *dap_client_go_stage_py(PyObject *self, PyObject *args);
PyObject *dap_client_reset_py(PyObject *self, PyObject *args);
PyObject *dap_client_request_enc_py(PyObject *self, PyObject *args);
PyObject *dap_client_request_py(PyObject *self, PyObject *args);
PyObject *dap_client_disconnect_py(PyObject *self, PyObject *args);
PyObject *dap_client_get_stage_str_py(PyObject *self, PyObject *args);
PyObject *dap_client_stage_str_py(PyObject *self, PyObject *args);
PyObject *dap_client_get_stage_status_str_py(PyObject *self, PyObject *args);
PyObject *dap_client_stage_status_str_py(PyObject *self, PyObject *args);
PyObject *dap_client_error_str_py(PyObject *self, PyObject *args);
PyObject *dap_client_get_error_str_py(PyObject *self, PyObject *args);
PyObject *dap_client_get_auth_cookie_py(PyObject *self, PyObject *args);
PyObject *dap_client_get_stream_py(PyObject *self, PyObject *args);
PyObject *dap_client_get_stream_ch_py(PyObject *self, PyObject *args);
PyObject *dap_client_get_stream_id_py(PyObject *self, PyObject *args);
PyObject *dap_client_set_active_channels_py(PyObject *self, PyObject *args);
PyObject *dap_client_get_stage_py(PyObject *self, PyObject *args);
PyObject *dap_client_get_stage_status_py(PyObject *self, PyObject *args);
static PyMethodDef DapClientMethods[] = {
{NULL, NULL, 0, NULL}
};
static PyTypeObject dapClientObject_dapClientType = {
PyVarObject_HEAD_INIT(NULL, 0)
"CellFrame.Client", /* tp_name */
sizeof(PyDapClientObject), /* 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 */
"Client objects", /* tp_doc */
0, /* tp_traverse */
0, /* tp_clear */
0, /* tp_richcompare */
0, /* tp_weaklistoffset */
0, /* tp_iter */
0, /* tp_iternext */
DapClientMethods, /* 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 */
};
#ifdef __cplusplus
}
#endif
#ifndef _WRAPPING_DAP_CLIENT_STAGE_
#define _WRAPPING_DAP_CLIENT_STAGE_
#include <Python.h>
#include "dap_client.h"
#ifdef __cplusplus
extern "C"{
#endif
typedef struct PyDapClientStage{
PyObject_HEAD
dap_client_stage_t stage;
}PyDapClientStageObject;
PyObject *STAGE_BEGIN_PY();
PyObject *STAGE_ENC_INIT_PY();
PyObject *STAGE_STREAM_CTL_PY();
PyObject *STAGE_STREAM_SESSION_PY();
PyObject *STAGE_STREAM_CONNECTED_PY();
PyObject *STAGE_STREAM_STREAMING_PY();
PyObject *STAGE_STREAM_ABORT_PY();
static PyMethodDef DapClientStageMethods[] = {
{"STAGE_BEGIN", (PyCFunction)STAGE_BEGIN_PY, METH_NOARGS | METH_STATIC, ""},
{"STAGE_ENC_INIT", (PyCFunction)STAGE_ENC_INIT_PY, METH_NOARGS | METH_STATIC, ""},
{"STAGE_STREAM_CTL", (PyCFunction)STAGE_STREAM_CTL_PY, METH_NOARGS | METH_STATIC, ""},
{"STAGE_STREAM_SESSION", (PyCFunction)STAGE_STREAM_SESSION_PY, METH_NOARGS | METH_STATIC, ""},
{"STAGE_STREAM_CONNECTED", (PyCFunction)STAGE_STREAM_CONNECTED_PY, METH_NOARGS | METH_STATIC, ""},
{"STAGE_STREAM_STREAMING", (PyCFunction)STAGE_STREAM_STREAMING_PY, METH_NOARGS | METH_STATIC, ""},
{"STAGE_STREAM_ABORT",(PyCFunction) STAGE_STREAM_ABORT_PY, METH_NOARGS | METH_STATIC, ""},
{NULL, NULL, 0, NULL}
};
static PyTypeObject dapClientStageObject_dapClientStageType = {
PyVarObject_HEAD_INIT(NULL, 0)
"CellFrame.ClientStage", /* tp_name */
sizeof(PyDapClientStageObject), /* 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 */
"Client stage objects", /* tp_doc */
0, /* tp_traverse */
0, /* tp_clear */
0, /* tp_richcompare */
0, /* tp_weaklistoffset */
0, /* tp_iter */
0, /* tp_iternext */
DapClientStageMethods, /* 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 */
};
#ifdef __cplusplus
}
#endif
#endif // _WRAPPING_DAP_CLIENT_STAGE_
\ No newline at end of file
#ifndef _WRAPPING_DAP_CLIENT_STAGE_STATUS_
#define _WRAPPING_DAP_CLIENT_STAGE_STATUS_
#include <Python.h>
#include "dap_client.h"
#ifdef __cplusplus
extern "C"{
#endif
typedef struct PyDapClientStageStatus{
PyObject_HEAD
dap_client_stage_status_t stage_status;
}PyDapClientStageStatusObject;
PyObject *STAGE_STATUS_NONE_PY();
// Enc init stage
PyObject *STAGE_STATUS_IN_PROGRESS_PY();
PyObject *STAGE_STATUS_ABORTING_PY();
PyObject *STAGE_STATUS_ERROR_PY();
PyObject *STAGE_STATUS_DONE_PY();
PyMethodDef DapClientStageStatusMethods[] = {
{"STAGE_STATUS_NONE", STAGE_STATUS_NONE_PY, METH_NOARGS, ""},
// Enc init stage
{"STAGE_STATUS_IN_PROGRESS", STAGE_STATUS_IN_PROGRESS_PY, METH_NOARGS | METH_STATIC, ""},
{"STAGE_STATUS_ABORTING", STAGE_STATUS_ABORTING_PY, METH_NOARGS | METH_STATIC, ""},
{"STAGE_STATUS_ERROR", STAGE_STATUS_ERROR_PY, METH_NOARGS | METH_STATIC, ""},
{"STAGE_STATUS_DONE", STAGE_STATUS_DONE_PY, METH_NOARGS | METH_STATIC, ""},
{NULL, NULL, 0, NULL}
};
static PyTypeObject dapClientStageStatusObject_dapClientStageStatusType = {
PyVarObject_HEAD_INIT(NULL, 0)
"CellFrame.ClientStageStatus", /* tp_name */
sizeof(PyDapClientStageStatusObject), /* 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 */
"Client stage status objects", /* tp_doc */
0, /* tp_traverse */
0, /* tp_clear */
0, /* tp_richcompare */
0, /* tp_weaklistoffset */
0, /* tp_iter */
0, /* tp_iternext */
DapClientStageStatusMethods, /* 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 */
};
#ifdef __cplusplus
}
#endif
#endif //_WRAPPING_DAP_CLIENT_STAGE_STATUS_
\ No newline at end of file
libdap @ 1c061479
Subproject commit 1c0614797a3a2a2f4c179630025600e177637a65
libdap-client @ d3f5458f
Subproject commit d3f5458f352294547b1ac68404d5ccdc8dea28ba
libdap-crypto @ c81202ba
Subproject commit c81202ba5d48e5d77afcc8aea9962a10560527f3
libdap-server @ e3f07ae7
Subproject commit e3f07ae78aaecfada9f44abdd48a4ebbce9e2184
libdap-server-core @ 73a86ef8
Subproject commit 73a86ef8202ee67a05098d186aac2deacb207f63
libdap-server-udp @ a14daa6c
Subproject commit a14daa6c39aed9bba32684872d03afc7778db61e
libdap-stream @ eb3f6b65
Subproject commit eb3f6b659c2ad25e1b9906eb9820e46de7443103
libdap-stream-ch @ daeb35e4
Subproject commit daeb35e4680f659d41ade4da7514138e56278685
#include "libdap_client_python.h"
int dap_client_init_py(){
return dap_client_init();
}
void dap_client_deinit_py(){
dap_client_deinit();
}
PyObject *dao_client_set_uplink_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_get_uplink_addr_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_get_uplink_port_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_get_key_stream_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_go_stage_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_reset_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_request_enc_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_request_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_disconnect_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_get_stage_str_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_stage_str_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_get_stage_status_str_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_stage_status_str_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_error_str_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_get_error_str_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_get_auth_cookie_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_get_stream_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_get_stream_ch_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_get_stream_id_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_set_active_channels_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_get_stage_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
PyObject *dap_client_get_stage_status_py(PyObject *self, PyObject *args)
{
(void) self;
(void) args;
/// TODO: Implement it!
PyErr_SetString(PyExc_TypeError, "Unimplemented function");
return NULL;
}
#include "wrapping_dap_client_stage.h"
PyObject *STAGE_BEGIN_PY(){
PyDapClientStageObject *obj_stage = (PyDapClientStageObject*)_PyObject_New(&dapClientStageObject_dapClientStageType);
obj_stage->stage = STAGE_BEGIN;
return (PyObject *)obj_stage;
}
PyObject *STAGE_ENC_INIT_PY(){
PyDapClientStageObject *obj_stage = (PyDapClientStageObject*)_PyObject_New(&dapClientStageObject_dapClientStageType);
obj_stage->stage = STAGE_ENC_INIT;
return (PyObject *)obj_stage;
}
PyObject *STAGE_STREAM_CTL_PY(){
PyDapClientStageObject *obj_stage = (PyDapClientStageObject*)_PyObject_New(&dapClientStageObject_dapClientStageType);
obj_stage->stage = STAGE_STREAM_CTL;
return (PyObject *)obj_stage;
}
PyObject *STAGE_STREAM_SESSION_PY(){
PyDapClientStageObject *obj_stage = (PyDapClientStageObject*)_PyObject_New(&dapClientStageObject_dapClientStageType);
obj_stage->stage = STAGE_STREAM_SESSION;
return (PyObject *)obj_stage;
}
PyObject *STAGE_STREAM_CONNECTED_PY(){
PyDapClientStageObject *obj_stage = (PyDapClientStageObject*)_PyObject_New(&dapClientStageObject_dapClientStageType);
obj_stage->stage = STAGE_STREAM_CONNECTED;
return (PyObject *)obj_stage;
}
PyObject *STAGE_STREAM_STREAMING_PY(){
PyDapClientStageObject *obj_stage = (PyDapClientStageObject*)_PyObject_New(&dapClientStageObject_dapClientStageType);
obj_stage->stage = STAGE_STREAM_STREAMING;
return (PyObject *)obj_stage;
}
PyObject *STAGE_STREAM_ABORT_PY(){
PyDapClientStageObject *obj_stage = (PyDapClientStageObject*)_PyObject_New(&dapClientStageObject_dapClientStageType);
obj_stage->stage = STAGE_STREAM_ABORT;
return (PyObject *)obj_stage;
}
\ No newline at end of file
#include "wrapping_dap_client_stage_status.h"
PyObject *STAGE_STATUS_NONE_PY(){
PyDapClientStageStatusObject *obj_stage_status = (PyDapClientStageStatusObject*)_PyObject_New(
&dapClientStageStatusObject_dapClientStageStatusType);
obj_stage_status->stage_status = STAGE_STATUS_NONE;
return (PyObject *)obj_stage_status;
}
// Enc init stage
PyObject *STAGE_STATUS_IN_PROGRESS_PY(){
PyDapClientStageStatusObject *obj_stage_status = (PyDapClientStageStatusObject*)_PyObject_New(
&dapClientStageStatusObject_dapClientStageStatusType);
obj_stage_status->stage_status = STAGE_STATUS_IN_PROGRESS;
return (PyObject *)obj_stage_status;
}
PyObject *STAGE_STATUS_ABORTING_PY(){
PyDapClientStageStatusObject *obj_stage_status = (PyDapClientStageStatusObject*)_PyObject_New(
&dapClientStageStatusObject_dapClientStageStatusType);
obj_stage_status->stage_status = STAGE_STATUS_ABORTING;
return (PyObject *)obj_stage_status;
}
PyObject *STAGE_STATUS_ERROR_PY(){
PyDapClientStageStatusObject *obj_stage_status = (PyDapClientStageStatusObject*)_PyObject_New(
&dapClientStageStatusObject_dapClientStageStatusType);
obj_stage_status->stage_status = STAGE_STATUS_ERROR;
return (PyObject *)obj_stage_status;
}
PyObject *STAGE_STATUS_DONE_PY(){
PyDapClientStageStatusObject *obj_stage_status = (PyDapClientStageStatusObject*)_PyObject_New(
&dapClientStageStatusObject_dapClientStageStatusType);
obj_stage_status->stage_status = STAGE_STATUS_DONE;
return (PyObject *)obj_stage_status;
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment