UGDK  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
bootstrapgear.h
Go to the documentation of this file.
1 
2 #ifndef UGDK_SCRIPT_LUA_BOOTSTRAPGEAR_H_
3 #define UGDK_SCRIPT_LUA_BOOTSTRAPGEAR_H_
4 
5 #include <vector>
6 
10 
12 #include <ugdk/script/module.h>
13 
14 namespace ugdk {
15 namespace script {
16 namespace lua {
17 
18 class DataGear;
19 
21 typedef const std::vector<LuaModule> ModuleList;
22 
23 class BootstrapGear : public BaseGear {
24 
25  public:
26 
28  BaseGear(nullptr) {}
29 
31 
32  bool Initialize(const ModuleList& modules);
33 
34  DataGear* NextGear();
35 
36  void Abort();
37 
38  private:
39 
40  static int SafeInitialize(lua_State* L);
41 
42  void LoadLibs();
43 
44  void PreloadModules(const ModuleList& modules);
45 
46 };
47 
48 } /* namespace lua */
49 } /* namespace script */
50 } /* namespace ugdk */
51 
52 #endif /* UGDK_SCRIPT_LUA_BOOTSTRAPGEAR_H_ */
ugdk::script::Module< lua_CFunction > LuaModule
Definition: bootstrapgear.h:18
bool Initialize(const ModuleList &modules)
State & L()
Definition: basegear.h:95
Definition: animation.h:11
Definition: script.h:18
BootstrapGear()
Definition: bootstrapgear.h:27
Definition: datagear.h:16
struct lua_State lua_State
Definition: defs.h:8
Definition: bootstrapgear.h:23
~BootstrapGear()
Definition: bootstrapgear.h:30
const std::vector< LuaModule > ModuleList
Definition: bootstrapgear.h:21
Definition: basegear.h:18