aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/libraries/Runnr.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libraries/Runnr.h')
-rw-r--r--src/libraries/Runnr.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/libraries/Runnr.h b/src/libraries/Runnr.h
index 0e0fc73..ba5c17e 100644
--- a/src/libraries/Runnr.h
+++ b/src/libraries/Runnr.h
@@ -4,12 +4,82 @@
4#include <ctype.h> 4#include <ctype.h>
5 5
6#include <Eina.h> 6#include <Eina.h>
7#include <Ecore.h>
8#include <Ecore_Con.h>
7 9
8#include <lua.h> 10#include <lua.h>
9#include <luajit.h> 11#include <luajit.h>
10#include <lualib.h> 12#include <lualib.h>
11#include <lauxlib.h> 13#include <lauxlib.h>
12 14
15// Stick with Plan C for now.
16#define THREADIT 0
17
18typedef enum
19{
20 RUNNR_COMPILING,
21 RUNNR_NOT_STARTED,
22 RUNNR_RUNNING,
23 RUNNR_WAIT,
24 RUNNR_READY,
25 RUNNR_RESET,
26 RUNNR_FINISHED
27} runnrStatus;
28
29typedef struct _LuaCompile LuaCompile;
30typedef void (* compileCb)(LuaCompile *compiler);
31
32typedef struct _LuaCompile
33{
34 char *file, *SID, *luaName;
35 int bugCount;
36 void *data;
37 Ecore_Con_Client *client;
38 compileCb cb;
39} LuaCompiler;
40
41typedef struct _script script;
42typedef void (* RunnrServerCb)(script *me, const char *message);
43
44typedef struct _script
45{
46 Eina_Clist node;
47#if THREADIT
48 Eina_Lock mutex;
49 Ecore_Thread *me;
50#endif
51 void *data;
52 char SID[PATH_MAX];
53 char *name;
54 char fileName[PATH_MAX];
55 char binName[PATH_MAX];
56 lua_State *L;
57 struct timeval startTime;
58 float timerTime;
59 runnrStatus status;
60 RunnrServerCb send2server;
61 Eina_Clist messages;
62 Ecore_Con_Client *client;
63 Ecore_Timer *timer;
64} script;
65
66typedef struct
67{
68 Eina_Clist node;
69 script *s;
70 const char message[PATH_MAX];
71} scriptMessage;
72
73
74script *scriptAdd(char *file, char *SID, RunnrServerCb send2server, void *data);
75void compileScript(LuaCompiler *compiler);
76void runScript(script *me);
77void resetScript(script *me);
78script *getScript(char *SID);
79void takeScript(script *me);
80void releaseScript(script *me);
81void send2script(const char *SID, const char *message);
82void printScriptsStatus();
13 83
14void dumpStack(lua_State *L, int i); 84void dumpStack(lua_State *L, int i);
15void doLuaString(lua_State *L, char *string, char *module); 85void doLuaString(lua_State *L, char *string, char *module);