1
/***************************************************************************
3
* This file is part of the KDE project
4
* copyright (C)2004-2005 by Sebastian Sauer (mail@dipe.org)
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Library General Public
8
* License as published by the Free Software Foundation; either
9
* version 2 of the License, or (at your option) any later version.
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
* Library General Public License for more details.
14
* You should have received a copy of the GNU Library General Public License
15
* along with this program; see the file COPYING. If not, write to
16
* the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17
* Boston, MA 02111-1307, USA.
18
***************************************************************************/
20
#ifndef KROSS_MAIN_KROSSCONFIG_H
21
#define KROSS_MAIN_KROSSCONFIG_H
24
* The Kross scripting bridge.
26
* Kross is the name of the scripting layer used as bridge
27
* between scripting backends like \a Kross::Python and
28
* so called functionality wrappers like \a Kross::KexiDB.
30
* Kross was mainly developed for usage within Kexi to
31
* spend a flexible scripting system without restrictions
32
* on the used scripting language, performance or
35
* \author Sebastian Sauer
36
* \sa http://www.koffice.org/kexi
37
* \sa http://www.dipe.org/kross
42
* The Kross-Api. Used to have a common api for all supported
43
* scripting languages. It's designed as proxy for every kind
44
* of interaction and spends us the base communication bridge
45
* between wrappers like \a Kross::KexiDB and interpreters
46
* like \a Kross::Python.
48
* \author Sebastian Sauer
52
// Enable kdDebug()-debugging for Kross::Api::Object
53
//#define KROSS_API_OBJECT_DEBUG
58
* Wrapper around the Kexi::KexiDB classes.
60
* Only \a Kross::Api is used. So, this wrapper is independend
61
* to the used scripting backend and any interpreter who wraps
62
* the Kross-Api should be able to make such wrappers accessible
63
* from within scripting-languages.
65
* \author Sebastian Sauer
71
* Code to manage the embedded python interpreter and
74
* There is no dependency to e.g. the \a Kross::KexiDB
75
* wrapper. Everything is handled through the common
76
* \a Kross::Api bridge. Therefore this interpreter-
77
* implementation should be able to make all defined
78
* wrappers accessible by the python scripting
81
* Internaly we use PyCXX - a set of classes to help
82
* create extensions of python in the C++ language - to
83
* access the python c api. Any python version since
86
* \author Sebastian Sauer
87
* \sa http://www.python.org
88
* \sa http://cxx.sourceforge.net
92
// Enable kdDebug()-debugging for Kross::Python::PythonScript
93
//#define KROSS_PYTHON_SCRIPT_DEBUG
95
// Enable kdDebug()-debugging for Kross::Python::PythonModule
96
//#define KROSS_PYTHON_MODULE_DEBUG
98
// Enable kdDebug()-debugging for Kross::Python::PythonExtension
99
//#define KROSS_PYTHON_EXTENSION_DEBUG