• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

Kross

krossconfig.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  * krossconfig.h
00003  * This file is part of the KDE project
00004  * copyright (C)2004-2006 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 #include <kross/core/kross_export.h>
00024 
00025 #include <QtCore/QString>
00026 #include <QtCore/QMetaType>
00027 
00028 namespace Kross {
00029 
00030     // Debugging enabled. Comment the line out to disable all kind of debugging.
00031     #define KROSS_DEBUG_ENABLED
00032 
00033     #ifdef KROSS_DEBUG_ENABLED
00034 
00038         KROSSCORE_EXPORT void krossdebug(const QString &s);
00039 
00043         KROSSCORE_EXPORT void krosswarning(const QString &s);
00044 
00045     #else
00046         // Define these to an empty statement if debugging is disabled.
00047         #define krossdebug(x)
00048         #define krosswarning(x)
00049     #endif
00050 
00051     // Some more debug switches.
00052     //#define KROSS_OBJECT_METACALL_DEBUG
00053     //#define KROSS_METATYPE_DEBUG
00054     //#define KROSS_INTERPRETER_DEBUG
00055     //#define KROSS_ACTION_DEBUG
00056     //#define KROSS_ACTIONCOLLECTION_DEBUG
00057 
00058     // The version number of Kross. For example the interpreters use
00059     // it do be sure there are linked against the correct core version
00060     // and if the numbers don't match, the interpreter is not loaded.
00061     #define KROSS_VERSION 12
00062 
00063     // The export macro for interpreter plugins.
00064     #define KROSS_EXPORT_INTERPRETER( InterpreterImpl ) \
00065         extern "C" { \
00066             KDE_EXPORT void* krossinterpreter(int version, Kross::InterpreterInfo* info) { \
00067                 if(version != KROSS_VERSION) { \
00068                     Kross::krosswarning(QString("Interpreter skipped cause provided version %1 does not match expected version %2.").arg(version).arg(KROSS_VERSION)); \
00069                     return 0; \
00070                 } \
00071                 return new InterpreterImpl(info); \
00072             } \
00073         }
00074 
00075     // The name of the interpreter's library. Those library got loaded
00076     // dynamically during runtime. Comment out to disable compiling of
00077     // the interpreter-plugin or to hardcode the location of the lib
00078     // like I did at the following line.
00079     //#define KROSS_PYTHON_LIBRARY "/home/kde4/koffice/_build/lib/krosspython.la"
00080     #define KROSS_PYTHON_LIBRARY "krosspython"
00081     #define KROSS_RUBY_LIBRARY "krossruby"
00082     #define KROSS_KJS_LIBRARY "krosskjs"
00083     #define KROSS_JAVA_LIBRARY "libkrossjava"
00084     #define KROSS_FALCON_LIBRARY "krossfalcon"
00085     #define KROSS_QTSCRIPT_LIBRARY "krossqts"
00086     #define KROSS_LUA_LIBRARY "kloss"
00087 
00088 }
00089 
00090 #endif
00091 

Kross

Skip menu "Kross"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.7
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal