00001 /*************************************************************************** 00002 * krossconfig.h 00003 * This file is part of the KDE project 00004 * copyright (C)2004-2005 by Sebastian Sauer (mail@dipe.org) 00005 * 00006 * This program is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Library General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2 of the License, or (at your option) any later version. 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Library General Public License for more details. 00014 * You should have received a copy of the GNU Library General Public License 00015 * along with this program; see the file COPYING. If not, write to 00016 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 * Boston, MA 02110-1301, USA. 00018 ***************************************************************************/ 00019 00020 #ifndef KROSS_MAIN_KROSSCONFIG_H 00021 #define KROSS_MAIN_KROSSCONFIG_H 00022 00023 /** 00024 * The Kross scripting bridge to embed scripting functionality 00025 * into an application. 00026 * 00027 * - abstract API to access the scripting functionality. 00028 * - interpreter independend to be able to decide on runtime 00029 * if we like to use the python, kjs (KDE JavaScript) or 00030 * whatever scripting interpreter. 00031 * - flexibility by beeing able to connect different 00032 * scripting interpreters together into something like 00033 * a "working chain" (e.g. python-script script1 spends 00034 * some functionality the kjs-script script2 likes to 00035 * use. 00036 * - transparently bridge functionality wrappers like 00037 * \a Kross::KexiDB together with interpreters like \a Kross::Python. 00038 * - Introspection where needed to be able to manipulate 00039 * behaviours and functionality on runtime. 00040 * - Qt/KDE based, so use the extended techs both spends. 00041 * - integrate nicly as powerfull scripting system into the 00042 * Kexi application. 00043 * 00044 * \author Sebastian Sauer 00045 * \sa http://www.koffice.org/kexi 00046 * \sa http://www.dipe.org/kross 00047 */ 00048 namespace Kross { 00049 00050 /** 00051 * The common Kross API used as common codebase. 00052 * 00053 * The API spends \a Kross::Api::Object and more specialized 00054 * classes to bridge other Kross parts together. Interaction 00055 * between objects got wrapped at runtime and introspection- 00056 * functionality enables dynamic manipulations. 00057 * The proxy functionality prevents cross-dependencies 00058 * between Kross parts like the \a Kross::Python implementation 00059 * and the \a Kross::KexiDB wrapper. 00060 * 00061 * \author Sebastian Sauer 00062 */ 00063 namespace Api { 00064 00065 //#define KROSS_API_OBJECT_CTOR_DEBUG 00066 //#define KROSS_API_OBJECT_DTOR_DEBUG 00067 //#define KROSS_API_OBJECT_ADDCHILD_DEBUG 00068 //#define KROSS_API_OBJECT_REMCHILD_DEBUG 00069 //#define KROSS_API_OBJECT_CALL_DEBUG 00070 00071 //#define KROSS_API_EVENT_CALL_DEBUG 00072 00073 //#define KROSS_API_CALLABLE_CALL_DEBUG 00074 //#define KROSS_API_CALLABLE_CHECKARG_DEBUG 00075 00076 //#define KROSS_API_EVENTSLOT_CALL_DEBUG 00077 //#define KROSS_API_EVENTSIGNAL_CALL_DEBUG 00078 00079 // The name of the interpreter's library. Those library got loaded 00080 // dynamicly during runtime. Comment out to disable compiling of 00081 // the interpreter-plugin or to hardcode the location of the lib 00082 // like I did at the following line. 00083 00084 //#define KROSS_PYTHON_LIBRARY "/home/snoopy/cvs/kde/trunk/koffice/lib/kross/python/krosspython.la" 00085 #define KROSS_PYTHON_LIBRARY "krosspython" 00086 #define KROSS_RUBY_LIBRARY "krossruby" 00087 00088 } 00089 00090 } 00091 00092 #endif 00093
1.4.6