From b1a65ef0ac0cff3d439ddf21ea88b40f8612f21b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonatan=20P=C3=A5lsson?= Date: Tue, 25 Jan 2011 14:27:04 +0100 Subject: [PATCH] Now we can run javascript and send back the return values --- js_runner.beam | Bin 0 -> 824 bytes js_runner.erl | 8 ++++++-- js_test.beam | Bin 704 -> 792 bytes src/.ggs_server.erl.swo | Bin 0 -> 12288 bytes src/ggs_app.beam | Bin 0 -> 680 bytes src/ggs_server.beam | Bin 1592 -> 1732 bytes src/ggs_server.erl | 5 ++++- src/ggs_sup.beam | Bin 0 -> 776 bytes 8 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 js_runner.beam create mode 100644 src/.ggs_server.erl.swo create mode 100644 src/ggs_app.beam create mode 100644 src/ggs_sup.beam diff --git a/js_runner.beam b/js_runner.beam new file mode 100644 index 0000000000000000000000000000000000000000..8a3e915d7c517195a0b17c6ffdcbb7bf69a011e4 GIT binary patch literal 824 zcmaizJ#5oJ6oAh@J8hD-SaJC&0%Q>t0Tp#Xtx%Ypv}q^`ZACkPgcLjRwXqZXBKy)N zO#CdcRV)aE5KD(_tgPKw5DODxWMP8^b>lr#p-%AR&-d=#yZ0l#TUxzyl@MAeS4y`_ zf(L|`4eClYw0|@$_ByQYg_}I}C(5xcChAAb3*2Rp^9`T@C|E}pP$W&xohOnpM#u<$ zT5+DUGHB}>jdHl(#N!?1M4suJCzlOu*P!)O$!ngN~O zQy*zWsZcp@RW;q3q@#s`A=z-ZE9dr!^w7%D70r@%VW&xNEvlozSfhlji)aICBFjM+ z*BX!l;DjguiVC0&B@JW%`B2Ax(03e|0Hh+>d3%Eo(=QJOnWe)H=HG`f3)AbD8nJ)|$Zt+cxk3N{ literal 0 HcmV?d00001 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 aadabb39f9d754b390f1092d23010ba8a4135574..d3958da44e500d059151e0aae2719007781bd671 100644 GIT binary patch delta 103 zcmX@WI)jbF%|FPHfq_|IBZoPY^10?51_lO}45kzY_WXj9%>2A!kN^`%fH}E5C7VHJ uazB#{ABfMEUs{rqSp*fD9K@u-E}6)iD4eJ;xsl17i-Ey0skj8FnE?O_kr+h) delta 62 zcmbQic7T<`%|FPHfq`kqMh2CK$t##N*hLfh67>_s RCSPYV=Wt9aE&(cH008zP54!*W diff --git a/src/.ggs_server.erl.swo b/src/.ggs_server.erl.swo new file mode 100644 index 0000000000000000000000000000000000000000..d75ef3b29ec8bb309f9f1a6513b35e94356fad7d GIT binary patch literal 12288 zcmeI2&2Jk;7{;eS3#1>kz!fxgW!TX5M^Y+KAZd$}Mhz*o>?8-Guv)Jt_SWkivomhf z8ka+n=z${fFCg_^E?Fapn~>+fpE-VY>;if2EkaImUousHm+NiTlKd`h)a`Sj!Q3np z4ar-%0?3f#K_ZMmL#btgG6IgwYL_NDgH zXP#cZ_x`%2RzNGD70?Q31+)TM0j+>mKr8UTDf3@n0Kumd~-et(jX z-@qks5iElxFbl@OuTNl|;46vU<(NS^AN|WUb}7G0kueS~BCQ$hx=Uo%pxDY}0@E!n4) zRrNKsmZd3^PQZwbDogUvurT5_<1{lvLi;u5TheJw3FcRgGIttGn$+c%=T@fHPY14K zM(SMaoDXZOB_`L#$D>8yJ7#}USV7zOSun*mnA4VQp==a+028yewBseHilMd@&ZU8y zRc*itcP6%j zK@cQSlvv6m%H@fhY{$XzH)B!NLqW`=>M_gp*SR6xCgW{LzfY*Sc07SL=o+?FHvWIu zxL3g5Z8IS)hqry@wNg|rgvI@IqT78foZe7JSsX)%Ah{OYD8WZ|kJd_M4_IQd^A$ z#<*JK={gJ8kPO2kM=2!i+8q+*D3eZ|MY8zqW`zZmuhV$j3fi=*j7kpGToKE*In|Jl z0*NPz-!Kl%&K*6nytrf)Pn4FzaOmCYZ|?z>2fB7Vju+G#-~ zlZH9UOoE`7{_|ZZN-|Zpj&~1Z(0O>f$R9k2yUERDqsLxR{lX`O+MjeF$>%1K%#x>~ zDhxbQa|e_MGi*am%2-vYE;nH&y;X|J9T+GIsro~TJ14UK@XD&1MtG@Yk;{{~MA0`+ z?74jOw2E6Lk*TVCQ|bpKCZx2K4o~Cfhn(Yuc`tb$D}T=@qnQBYD64m_LT-xykGaRT)V!ktkBW@id zmk^I|>fa1Wcp0Dr@L<692P{k&1PS9icLqVi`~6YK(j?vSAs~I;=c6!4Pf`{K%voaU zPdIrVCoCYZsIP(4vCobeUgRbdrRiy8^wh<+)!Jsc{txe_yUs>xgS851?e*^W x?zt46%}cpxPw=077erhaS41FgHOUQLV=4={`>$4_^M}{N2ZeVWPK?Dn!XFXpmqq{p literal 0 HcmV?d00001 diff --git a/src/ggs_server.beam b/src/ggs_server.beam index 8409427634be1aa67787ada23427a7dd64b938c3..cd973491611d969c74f1eef680185d404a5a9e2e 100644 GIT binary patch delta 514 zcmdnNbA(sI%|FPHfq`w0ldGezV@ZB40|TQb0|SG~M2WkSoLR;3MWuOpsYNVF`S~TB zsTHZor6s9e!4tpga|0DQ=clAHFfc`J)?wses#j2O5N2^;7GY;-a9|Pc5D;Kjm>{4a z;L6M-?BH&|%&xG&fmzsrg_%QPg8(Ck43iL-G6N%rtb-7FZUKm11H^nl43uGD0%8^@n-xe;p3fW-38Wchfmj}hK?)RrSP{zR z1ky@SHb0P70b)iVhOwDkE5Mda0gCYeu`*O1WR~(|6PEUrL?A1rVvcN&w~&K@fXi&I zR_+HST1LTjnpaeGa*GNNFBAV8XU@R9z`NK_L!;(+71+L)_6Vn`Wd^0TlDnI zg?*-Uhp)X|AJIRp<*woqb;VmJx>jvDX!CsY{w2kd%|LHhvziMe?w%AWSy|)JxTm{J(n^9xEc^Ye;90!$zQ=H&8}YzBqN|5+9IKzz3R(vphL#$e?yothzDw995+H)~5I3^XB0JSmz0C}r-fB*mh delta 407 zcmX@YyMsr<%|FPHfq~7y$<@)`pg zm_h^u9GF=g+zo^s+#Q(N6&f6vg&kO!ITR)cFmlK+32`YfFmlK`2r>H!EMVl20|@{n zY13}W*Gu_6#NBC(lVD-gPX z;tEiCkRFA}H7xD*^*~lf#T?ZhZ=pj5JkG3_jSevWcyorgir4R8%Mq4a4id*pZu;u= zaZBr}>}6lTTCn1Ks>AF}<(di7$vZ`+O+30S*>_s^&kaR!^2+QcTJrDK-ur*x>{Zsp z`KmLPtO(xL`R`7{-I+;YMJb 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 0000000000000000000000000000000000000000..2440432dd7dbd8c73909efbed56e6e8b84fe90f8 GIT binary patch literal 776 zcmZ?s4>Dw6U}kV~b@X*C$FSCR@H$SB`CpA7ZFD;)fwJ0YsFP%RFuVPMU&q2OJ3IZ<6C2p@s-`~Gr zw;1Eiw1rilp78(jR8qI~Rm;D}V8GC)pU-hyC4D-_WgGG6YfBr`+1(bI*Ew5wq*V)U z)s?+7;a18A<;44<*Q{Tce-DnThOG=7>lxK4ekYvhWN?~9wE6xLP81n=eu5j@RZa(w;%7^_=Hx#kR zcV&STa3-Z@B$j37mllDQr7$2xa8?#jr?Y2X8j!jLHj@RUg+0HZBr`v+7-30rc}g~e zf__GRZmND(eqKqczDsIxc1eDLJ}Bn(-Q9!ri;I#$dfD