About
User Reference
C++ API
luafaudes
Developer
Links
libFAUDES online
libFAUDES

Sections

Index

libluafaudes.h

Go to the documentation of this file.
00001 /** @file libluafaudes.h Includes all libluafaudes headers, incl lua  */
00002 
00003 /* FAU Discrete Event Systems Library (libfaudes)
00004 
00005    Copyright (C) 2008 Thomas Moor
00006    Exclusive copyright is granted to Klaus Schmidt
00007 
00008    This library is free software; you can redistribute it and/or
00009    modify it under the terms of the GNU Lesser General Public
00010    License as published by the Free Software Foundation; either
00011    version 2.1 of the License, or (at your option) any later version.
00012 
00013    This library is distributed in the hope that it will be useful,
00014    but WITHOUT ANY WARRANTY; without even the implied warranty of
00015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016    Lesser General Public License for more details.
00017 
00018    You should have received a copy of the GNU Lesser General Public
00019    License along with this library; if not, write to the Free Software
00020    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
00021 
00022 
00023 #ifndef FAUDES_LIBLUAFAUDES_H
00024 #define FAUDES_LIBLUAFAUDES_H
00025 
00026 
00027 // lua essentials
00028 #define lua_c
00029 
00030 // lua essentials
00031 extern "C" {
00032 #include "lua/lua.h"
00033 #include "lua/lauxlib.h"
00034 #include "lua/lualib.h"
00035 }
00036 
00037 
00038 // std streams for console logging
00039 #include <iostream>
00040 #include <fstream>
00041 #include <sstream>
00042 #include <string>
00043 
00044 // c libs since we dont use lua.h
00045 #include <csignal>
00046 #include <cstdio>
00047 #include <cstdlib>
00048 #include <cstring>
00049 
00050 // luafaudes: include faudes plus lua addons
00051 #include "corefaudes.h"
00052 #include "lbp_function.h"
00053 
00054 // include declarations for SWIG generated module loaders 
00055 #include "lbp_load.h"
00056 
00057 // overall loader to initialize kernel
00058 extern void luafaudes_initialize(lua_State* pL);
00059 
00060 // luafaudes: logging externals, defined in commonfaudes.i
00061 extern std::ofstream* luafaudes_logstream;
00062 extern std::string luafaudes_lastline;
00063 extern void luafaudes_logwrite(const char* str);
00064 extern void luafaudes_logwrite(const std::string& str);
00065 
00066 // luafaudes: mute faudes console out, see commonfaudes.i
00067 extern void luafaudes_mute(bool on);
00068 
00069 // luafaudes: dot test external, see commonfaudes.i
00070 extern bool luafaudes_dotready(void); 
00071 
00072 // luafaudes: help system, see commonfaudes.i
00073 extern void luafaudes_dict_insert_topic(const std::string& topic, const std::string& text);
00074 extern void luafaudes_dict_insert_entry(const std::string& topic, const std::string& key, const std::string& entry);
00075 
00076 // luafaudes: load extension, see commonfaudes.i
00077 extern int luafaudes_loadext(lua_State* pL, const char* filename);
00078 extern int luafaudes_loaddefext(lua_State* pL, const char* arg0);
00079 
00080 
00081 // luafaudes debugging facilities
00082 #ifdef FAUDES_DEBUG_LUABINDINGS
00083 #define FD_DLB(message) FAUDES_WRITE_CONSOLE("FAUDES_LUA_ERROR: " << message);
00084 #else
00085 #define FD_DLB(message)
00086 #endif
00087 
00088 
00089 
00090 #endif

libFAUDES 2.20d --- 2011.04.26 --- c++ source docu by doxygen