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 
51 #endif
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:147
map * mapFromPyDict(PyDictObject *t)
Convert a Python dictionary to a map.
Definition: service_internal_python.c:695
PyObject * PythonTranslate(PyObject *, PyObject *)
Use the ZOO-Services messages translation function from the Python environment.
Definition: service_internal_python.c:845
maps * mapsFromPyDict(PyDictObject *t)
Convert a Python dictionary to a maps.
Definition: service_internal_python.c:604
linked list of map pointer
Definition: main_conf_read.y:292
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:350
KVP linked list.
Definition: service.h:244
PyDictObject * PyDict_FromMaps(maps *t)
Convert a maps to a Python dictionary.
Definition: service_internal_python.c:427
Metadata information about a full Service.
Definition: main_conf_read.y:329
PyDictObject * PyDict_FromMap(map *t)
Convert a map to a Python dictionary.
Definition: service_internal_python.c:459
PyObject * PythonUpdateStatus(PyObject *, PyObject *)
Update the ongoing status of a running service from the Python environment.
Definition: service_internal_python.c:866