diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-08-10 06:58:05 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:31:34 -0500 |
commit | 8942ac69f01acc2e09a56e6accef6034622d40d4 (patch) | |
tree | 0b89121731965c95eee5e67053538c063815690e | |
parent | 922f28fcbda983dcd6141f7c746d0f228302d368 (diff) | |
download | samba-8942ac69f01acc2e09a56e6accef6034622d40d4.tar.gz samba-8942ac69f01acc2e09a56e6accef6034622d40d4.tar.xz samba-8942ac69f01acc2e09a56e6accef6034622d40d4.zip |
r9227: cleanup and simplify the AJAJ code
(This used to be commit ceb7669e5991e9dda759d60a09a0a65e6caba991)
-rw-r--r-- | source4/scripting/libjs/server_call.js | 13 | ||||
-rw-r--r-- | swat/esptest/qooxdoo.esp | 28 | ||||
-rw-r--r-- | swat/esptest/registry.esp | 42 | ||||
-rw-r--r-- | swat/esptest/registry_calls.esp | 37 | ||||
-rw-r--r-- | swat/esptest/remote.esp | 19 | ||||
-rw-r--r-- | swat/scripting/general_calls.esp | 1 |
6 files changed, 71 insertions, 69 deletions
diff --git a/source4/scripting/libjs/server_call.js b/source4/scripting/libjs/server_call.js index 316e764a531..a8c08780f9e 100644 --- a/source4/scripting/libjs/server_call.js +++ b/source4/scripting/libjs/server_call.js @@ -21,20 +21,20 @@ function __register_call(name, func) */ function __run_call() { var c = this; - var name = form['func']; + var name = form['ajaj_func']; if (name == undefined) { - println("no function name given in run_call"); + /* no function to run */ return; } - var args = form['args']; + var args = form['ajaj_args']; if (args == undefined) { println("no function arguments given in run_call"); - return; + exit(0); } args = decodeObject(args); if (c.calls[name] == undefined) { println("undefined remote call " + name); - return; + exit(0); } var f = c.calls[name]; var res; @@ -59,11 +59,12 @@ function __run_call() { res = f(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]); } else { println("too many arguments for remote call: " + name); - return; + exit(0); } var repobj = new Object(); repobj.res = res; write(encodeObject(repobj)); + exit(0); } diff --git a/swat/esptest/qooxdoo.esp b/swat/esptest/qooxdoo.esp index 76d3236fc97..554a4e90d5d 100644 --- a/swat/esptest/qooxdoo.esp +++ b/swat/esptest/qooxdoo.esp @@ -1,4 +1,26 @@ -<% +<% +/******************************/ +/* server side AJAJ functions */ +libinclude("server_call.js"); + +/* this is a call that the client js code can make - it just adds + some more elements to the passed object, then returns the object */ +function testfunc(x) { + var sys = sys_init(); + x.nttime = sys.nttime(); + x.timestring = sys.httptime(x.nttime); + return x; +} + +/* register a call for clients to make */ +var call = servCallObj(); +call.add('testfunc', testfunc); + +/* run the function that was asked for */ +call.run(); + + /***********************/ + /* now the main page */ page_header("columns", "ESP qooxdoo test", "esptest"); %> @@ -48,7 +70,7 @@ shared.rate = shared.counter / (shared.time_diff * 0.0000001); shared.counter++; if (stopit == 0) { - server_call('remote.esp', 'testfunc', callback, shared); + server_call_url("@@request.REQUEST_URI", 'testfunc', callback, shared); } } @@ -57,7 +79,7 @@ stopit = 0; shared.counter = 0; shared.start_time = 0; - server_call('remote.esp', 'testfunc', callback, shared); + server_call_url("@@request.REQUEST_URI", 'testfunc', callback, shared); }; function stop_call() { diff --git a/swat/esptest/registry.esp b/swat/esptest/registry.esp index 2b6a2144734..6adeb78b819 100644 --- a/swat/esptest/registry.esp +++ b/swat/esptest/registry.esp @@ -1,4 +1,38 @@ -<% +<% +/******************************/ +/* server side AJAJ functions */ +libinclude("base.js"); +libinclude("winreg.js"); +libinclude("server_call.js"); + +/* + server side call to return a listing of elements in a winreg path +*/ +function enum_path(binding, path) { + printf("enum_path(%s, %s)\n", binding, path); + var reg = winreg_init(); + security_init(reg); + + reg.credentials = session.authinfo.credentials; + + var status = reg.connect(binding); + if (status.is_ok != true) { + printVars(status); + return undefined; + } + var list = winreg_enum_path(reg, path); + return list; +} + +/* register a call for clients to make */ +var call = servCallObj(); +call.add('enum_path', enum_path); + +/* run the function that was asked for */ +call.run(); + + /***********************/ + /* now the main page */ page_header("columns", "ESP registry edit", "esptest"); %> @@ -33,7 +67,7 @@ function folder_list(t, list) { function folder_click(t) { if (!t.populated) { - server_call("registry_calls.esp", 'enum_path', + server_call_url("@@request.REQUEST_URI", 'enum_path', function(list) { folder_list(t, list); }, t.binding, t.reg_path); } @@ -54,8 +88,10 @@ function registry_tree(binding) { setWidth(400); setHeight(400); setTop(20); - addEventListener("click", function() { folder_click(t); }); } + t.addEventListener("click", function() { + var el = this; folder_click(el); + }); return t; } diff --git a/swat/esptest/registry_calls.esp b/swat/esptest/registry_calls.esp deleted file mode 100644 index a5c1ae7a124..00000000000 --- a/swat/esptest/registry_calls.esp +++ /dev/null @@ -1,37 +0,0 @@ -<% -libinclude("base.js"); -libinclude("winreg.js"); -libinclude("server_call.js"); - -/* - server side call to return a listing of elements in a winreg path -*/ -function enum_path(binding, path) { - printf("enum_path(%s, %s)\n", binding, path); - if (path == "\\") { - printf("IN ROOT\n"); - var list = new Array("HKLM", "HKCR", "HKPD"); - return list; - } - printf("binding=%s path=%s\n", binding, path); - var reg = winreg_init(); - security_init(reg); - - reg.credentials = session.authinfo.credentials; - - var status = reg.connect(binding); - if (status.is_ok != true) { - printVars(status); - return undefined; - } - var list = winreg_enum_path(reg, path); - return list; -} - -/* register a call for clients to make */ -var call = servCallObj(); -call.add('enum_path', enum_path); - -/* run the function that was asked for */ -call.run(); -%> diff --git a/swat/esptest/remote.esp b/swat/esptest/remote.esp deleted file mode 100644 index c0f12147a80..00000000000 --- a/swat/esptest/remote.esp +++ /dev/null @@ -1,19 +0,0 @@ -<% -libinclude("server_call.js"); - -/* this is a call that the client js code can make - it just adds - some more elements to the passed object, then returns the object */ -function testfunc(x) { - var sys = sys_init(); - x.nttime = sys.nttime(); - x.timestring = sys.httptime(x.nttime); - return x; -} - -/* register a call for clients to make */ -var call = servCallObj(); -call.add('testfunc', testfunc); - -/* run the function that was asked for */ -call.run(); -%> diff --git a/swat/scripting/general_calls.esp b/swat/scripting/general_calls.esp index 3a78ff6bbb9..f17c43205ab 100644 --- a/swat/scripting/general_calls.esp +++ b/swat/scripting/general_calls.esp @@ -12,7 +12,6 @@ var call = servCallObj(); */ function srv_printf() { - println("in srv_printf"); var s = string_init(); print(s.vsprintf(arguments)); return undefined; |