ZOO-Project
service_internal_python.h
Go to the documentation of this file.
1 /*
2  * Author : GĂ©rald FENOY
3  *
4  * Copyright (c) 2009-2010 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 "service_internal.h"
31 #include "response_print.h"
32 #include <Python.h>
33 #include "cgic.h"
34 #ifdef WIN32
35 #include <windows.h>
36 #include <direct.h>
37 #endif
38 
39 PyDictObject* PyDict_FromMaps(maps* t);
40 PyDictObject* PyDict_FromMap(map* t);
41 
42 maps* mapsFromPyDict(PyDictObject* t);
43 map* mapFromPyDict(PyDictObject* t);
44 
46 
47 void PythonZooReport(maps*,const char*,int);
48 
49 PyObject* PythonTranslate(PyObject*, PyObject*);
50 PyObject* PythonUpdateStatus(PyObject*, PyObject*);
51 
52 #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:629
PyObject * PythonTranslate(PyObject *, PyObject *)
Use the ZOO-Services messages translation function from the Python environment.
Definition: service_internal_python.c:767
maps * mapsFromPyDict(PyDictObject *t)
Convert a Python dictionary to a maps.
Definition: service_internal_python.c:538
linked list of map pointer
Definition: main_conf_read.y:243
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:315
KVP linked list.
Definition: service.h:199
PyDictObject * PyDict_FromMaps(maps *t)
Convert a maps to a Python dictionary.
Definition: service_internal_python.c:389
Metadata information about a full Service.
Definition: main_conf_read.y:279
PyDictObject * PyDict_FromMap(map *t)
Convert a map to a Python dictionary.
Definition: service_internal_python.c:421
PyObject * PythonUpdateStatus(PyObject *, PyObject *)
Update the ongoing status of a running service from the Python environment.
Definition: service_internal_python.c:788