diff --git a/js_runner.beam b/js_runner.beam new file mode 100644 index 0000000..8a3e915 Binary files /dev/null and b/js_runner.beam differ diff --git a/js_runner.erl b/js_runner.erl index 55cafd5..f9bb5aa 100644 --- a/js_runner.erl +++ b/js_runner.erl @@ -1,7 +1,11 @@ -module(js_runner). --export([run/0]). +-export([executeJS/2, boot/0]). + boot() -> erlang_js:start(), {ok, Port} = js_driver:new(), + Port. + +executeJS(Port, Data) -> ok = js:define(Port, <<"function helloworld(name){return 'Hello, ' + name}">>), - js:call(Port, <<"helloworld">>, [<<"Generic Game Server">>]). + js:call(Port, <<"helloworld">>, [Data]). diff --git a/js_test.beam b/js_test.beam index aadabb3..d3958da 100644 Binary files a/js_test.beam and b/js_test.beam differ diff --git a/src/.ggs_server.erl.swo b/src/.ggs_server.erl.swo new file mode 100644 index 0000000..d75ef3b Binary files /dev/null and b/src/.ggs_server.erl.swo differ diff --git a/src/ggs_app.beam b/src/ggs_app.beam new file mode 100644 index 0000000..3788ca0 Binary files /dev/null and b/src/ggs_app.beam differ diff --git a/src/ggs_server.beam b/src/ggs_server.beam index 8409427..cd97349 100644 Binary files a/src/ggs_server.beam and b/src/ggs_server.beam differ diff --git a/src/ggs_server.erl b/src/ggs_server.erl index 042889a..9f33de7 100644 --- a/src/ggs_server.erl +++ b/src/ggs_server.erl @@ -75,6 +75,7 @@ handle_info({tcp, Socket, RawData}, State) -> do_JSCall(Socket, RawData), RequestCount = State#state.request_count, {noreply, State#state{request_count = RequestCount + 1}}; + handle_info(timeout, #state{lsock = LSock} = State) -> {ok, _Sock} = gen_tcp:accept(LSock), {noreply, State}. @@ -90,7 +91,9 @@ code_change(_OldVsn, State, _Extra) -> %%----------------------------------------------------- do_JSCall(Socket, Data) -> - gen_tcp:send(Socket, io_lib:fwrite("~p~n", ["I got a call from j00!"])). + Port = js_runner:boot(), + Ret = js_runner:executeJS(Port, Data), + gen_tcp:send(Socket, io_lib:fwrite("~p~n", [Ret])). args_to_terms(RawArgs) -> {ok, Toks, _Line} = erl_scan:string("[" ++ RawArgs ++ "]. ", 1), diff --git a/src/ggs_sup.beam b/src/ggs_sup.beam new file mode 100644 index 0000000..2440432 Binary files /dev/null and b/src/ggs_sup.beam differ