23 #ifndef __LUA_CONTEXT_H_
24 #define __LUA_CONTEXT_H_
26 #include <lua/exceptions.h>
27 #include <core/utils/lock_list.h>
28 #include <core/utils/refptr.h>
29 #include <utils/system/fam.h>
30 #include <utils/system/fam_thread.h>
44 class LuaContextWatcher;
54 void setup_fam(
bool auto_restart,
bool conc_thread);
57 void set_start_script(
const char *start_script);
61 void add_package_dir(
const char *path);
62 void add_cpackage_dir(
const char *path);
63 void add_package(
const char *package);
65 lua_State * get_lua_state();
71 void do_file(
const char *filename);
72 void do_string(
const char *format, ...);
74 void load_string(
const char *s);
75 void pcall(
int nargs = 0,
int nresults = 0,
int errfunc = 0);
77 void set_usertype(
const char *name,
void *data,
const char *type_name,
78 const char *name_space = 0);
79 void set_string(
const char *name,
const char *value);
80 void set_number(
const char *name, lua_Number value);
81 void set_boolean(
const char *name,
bool value);
82 void set_integer(
const char *name, lua_Integer value);
83 void set_cfunction(
const char *name, lua_CFunction f);
84 void remove_global(
const char *name);
85 void set_global(
const char *name);
87 void push_boolean(
bool value);
88 void push_fstring(
const char *format, ...);
89 void push_integer(lua_Integer value);
90 void push_light_user_data(
void *p);
91 void push_lstring(
const char *s,
size_t len);
93 void push_number(lua_Number value);
94 void push_string(
const char *value);
96 void push_value(
int idx);
97 void push_vfstring(
const char *format, va_list arg);
98 void push_usertype(
void *data,
const char *type_name,
99 const char *name_space = 0);
100 void push_cfunction(lua_CFunction f);
103 void remove(
int idx);
106 void create_table(
int narr = 0,
int nrec = 0);
107 void set_table(
int t_index = -3);
108 void set_field(
const char *key,
int t_index = -2);
110 void get_table(
int idx);
111 void get_field(
int idx,
const char *k);
112 void get_global(
const char *name);
114 void raw_set(
int idx);
115 void raw_seti(
int idx,
int n);
116 void raw_get(
int idx);
117 void raw_geti(
int idx,
int n);
119 lua_Number to_number(
int idx);
120 lua_Integer to_integer(
int idx);
121 bool to_boolean(
int idx);
122 const char * to_string(
int idx);
124 bool is_boolean(
int idx);
125 bool is_cfunction(
int idx);
126 bool is_function(
int idx);
127 bool is_light_user_data(
int idx);
128 bool is_nil(
int idx);
129 bool is_number(
int idx);
130 bool is_string(
int idx);
131 bool is_table(
int idx);
132 bool is_thread(
int idx);
134 size_t objlen(
int idx);
135 void setfenv(
int idx = -2);
141 virtual void fam_event(
const char *filename,
unsigned int mask);
142 void process_fam_events();
146 lua_State * init_state();
147 void do_string(lua_State *L,
const char *format, ...);
148 void do_file(lua_State *L,
const char *s);
149 void assert_unique_name(
const char *name, std::string type);
154 bool __enable_tracebacks;
157 char *__start_script;
159 std::list<std::string> __package_dirs;
160 std::list<std::string> __cpackage_dirs;
161 std::list<std::string> __packages;
162 std::list<std::string>::iterator __slit;
164 std::map<std::string, std::pair<void *, std::string> > __usertypes;
165 std::map<std::string, std::pair<void *, std::string> >::iterator __utit;
166 std::map<std::string, std::string> __strings;
167 std::map<std::string, std::string>::iterator __strings_it;
168 std::map<std::string, bool> __booleans;
169 std::map<std::string, bool>::iterator __booleans_it;
170 std::map<std::string, lua_Number> __numbers;
171 std::map<std::string, lua_Number>::iterator __numbers_it;
172 std::map<std::string, lua_Integer> __integers;
173 std::map<std::string, lua_Integer>::iterator __integers_it;
174 std::map<std::string, lua_CFunction> __cfuncs;
175 std::map<std::string, lua_CFunction>::iterator __cfuncs_it;
File Alteration Monitor Listener.
RefPtr<> is a reference-counting shared smartpointer.
FileAlterationMonitor thread wrapper.
Mutex mutual exclusion lock.