OrocosComponentLibrary  2.9.0
rtt.hpp
1 /*
2  * Lua-RTT bindings
3  *
4  * (C) Copyright 2010 Markus Klotzbuecher
5  * markus.klotzbuecher@mech.kuleuven.be
6  * Department of Mechanical Engineering,
7  * Katholieke Universiteit Leuven, Belgium.
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU General Public
11  * License as published by the Free Software Foundation;
12  * version 2 of the License.
13  *
14  * As a special exception, you may use this file as part of a free
15  * software library without restriction. Specifically, if other files
16  * instantiate templates or use macros or inline functions from this
17  * file, or you compile this file and link it with other files to
18  * produce an executable, this file does not by itself cause the
19  * resulting executable to be covered by the GNU General Public
20  * License. This exception does not however invalidate any other
21  * reasons why the executable file might be covered by the GNU General
22  * Public License.
23  *
24  * This library is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
27  * Lesser General Public License for more details.
28  *
29  * You should have received a copy of the GNU General Public
30  * License along with this library; if not, write to the Free Software
31  * Foundation, Inc., 59 Temple Place,
32  * Suite 330, Boston, MA 02111-1307 USA
33  */
34 
35 #include <rtt/TaskContext.hpp>
36 #include <rtt/Port.hpp>
37 #include <rtt/types/Types.hpp>
38 #include <rtt/base/DataSourceBase.hpp>
39 #include <rtt/types/Operators.hpp>
40 #include <rtt/Logger.hpp>
41 #include <rtt/plugin/PluginLoader.hpp>
42 #include <rtt/os/TimeService.hpp>
43 #include <rtt/os/fosi.h>
44 #include <rtt/internal/GlobalService.hpp>
45 #include <rtt/types/GlobalsRepository.hpp>
46 
47 extern "C" {
48 #include <lua.h>
49 #include <lauxlib.h>
50 #include <lualib.h>
51 #include <string.h>
52 
53 #include <stdint.h>
54 
55 int luaopen_rtt(lua_State *L);
56 int set_context_tc(RTT::TaskContext*, lua_State*);
57 
58 /* call a function/0 named by string, the last two boolean arguments
59  * are wether to fail if no such function exists and wether to fail if
60  * no boolean result is returned.
61  */
62 bool call_func(lua_State*, const char*, RTT::TaskContext*, int, int);
63 }
64 
65