UGDK  0.4.1
 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(NULL) {}
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_ */