krossconfig.h

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 

Generated on Thu Feb 9 17:59:10 2006 for Kross by  doxygen 1.4.6