ZOO-Project
service_internal_python.h
Go to the documentation of this file.
1 /*
2  * Author : GĂ©rald FENOY
3  *
4  * Copyright (c) 2009-2019 GeoLabs SARL
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a copy
7  * of this software and associated documentation files (the "Software"), to deal
8  * in the Software without restriction, including without limitation the rights
9  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10  * copies of the Software, and to permit persons to whom the Software is
11  * furnished to do so, subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included in
14  * all copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22  * THE SOFTWARE.
23  */
24 
25 #ifndef ZOO_SERVICE_INTERNAL_PYTHON_H
26 #define ZOO_SERVICE_INTERNAL_PYTHON_H 1
27 
28 #pragma once
29 
30 #include <Python.h>
31 #include "service_internal.h"
32 #include "response_print.h"
33 #ifdef WIN32
34 #include <windows.h>
35 #include <direct.h>
36 #endif
37 
38 PyDictObject* PyDict_FromMaps(maps* t);
39 PyDictObject* PyDict_FromMap(map* t);
40 
41 maps* mapsFromPyDict(PyDictObject* t);
42 map* mapFromPyDict(PyDictObject* t);
43 
45 
46 void PythonZooReport(maps**,const char*,int);
47 
48 PyObject* PythonTranslate(PyObject*, PyObject*);
49 PyObject* PythonUpdateStatus(PyObject*, PyObject*);
50 PyObject* PythonTraceMessage(PyObject*, PyObject*);
51 PyObject* PythonDebugMessage(PyObject*, PyObject*);
52 PyObject* PythonInfoMessage(PyObject*, PyObject*);
53 PyObject* PythonSuccessMessage(PyObject*, PyObject*);
54 PyObject* PythonWarningMessage(PyObject*, PyObject*);
55 PyObject* PythonErrorMessage(PyObject*, PyObject*);
56 PyObject* PythonCriticalMessage(PyObject*, PyObject*);
57 
58 #endif
zoo_python_support
int zoo_python_support(maps **, map *, service *, maps **, maps **)
Load a Python module then run the function corresponding to the service by passing the conf,...
Definition: service_internal_python.c:154
mapFromPyDict
map * mapFromPyDict(PyDictObject *t)
Convert a Python dictionary to a map.
Definition: service_internal_python.c:730
PythonTranslate
PyObject * PythonTranslate(PyObject *, PyObject *)
Use the ZOO-Services messages translation function from the Python environment.
Definition: service_internal_python.c:882
PythonDebugMessage
PyObject * PythonDebugMessage(PyObject *, PyObject *)
ZOO-API equivalent to logger.debug() in Python.
Definition: service_internal_python.c:984
service
Metadata information about a full Service.
Definition: service.h:715
PythonErrorMessage
PyObject * PythonErrorMessage(PyObject *, PyObject *)
ZOO-API equivalent to logger.debug() in Python.
Definition: service_internal_python.c:1040
mapsFromPyDict
maps * mapsFromPyDict(PyDictObject *t)
Convert a Python dictionary to a maps.
Definition: service_internal_python.c:633
response_print.h
PythonCriticalMessage
PyObject * PythonCriticalMessage(PyObject *, PyObject *)
ZOO-API equivalent to logger.debug() in Python.
Definition: service_internal_python.c:1054
PythonSuccessMessage
PyObject * PythonSuccessMessage(PyObject *, PyObject *)
ZOO-API equivalent to logger.debug() in Python.
Definition: service_internal_python.c:1012
PythonWarningMessage
PyObject * PythonWarningMessage(PyObject *, PyObject *)
ZOO-API equivalent to logger.debug() in Python.
Definition: service_internal_python.c:1026
maps
linked list of map pointer
Definition: service.h:678
service_internal.h
map
KVP linked list.
Definition: service.h:657
PyDict_FromMaps
PyDictObject * PyDict_FromMaps(maps *t)
Convert a maps to a Python dictionary.
Definition: service_internal_python.c:451
PythonTraceMessage
PyObject * PythonTraceMessage(PyObject *, PyObject *)
ZOO-API equivalent to logger.debug() in Python.
Definition: service_internal_python.c:970
PythonZooReport
void PythonZooReport(maps **, const char *, int)
Report Python error which may occur on loading the Python module or at runtime.
Definition: service_internal_python.c:366
PyDict_FromMap
PyDictObject * PyDict_FromMap(map *t)
Convert a map to a Python dictionary.
Definition: service_internal_python.c:485
PythonInfoMessage
PyObject * PythonInfoMessage(PyObject *, PyObject *)
ZOO-API equivalent to logger.debug() in Python.
Definition: service_internal_python.c:998
PythonUpdateStatus
PyObject * PythonUpdateStatus(PyObject *, PyObject *)
Update the ongoing status of a running service from the Python environment.
Definition: service_internal_python.c:903