From 86d628a292a22973597e0c06d4a36e20c58ae31c Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Wed, 20 Jul 2005 07:20:03 +0000 Subject: [PATCH] r8639: moved loadparm calls into an ejs object (This used to be commit 2dc493eea6f9d87c40ad0dc755f528ce0b33ca47) --- source4/scripting/bin/smbstatus | 4 +++- source4/scripting/ejs/smbcalls_config.c | 15 +++++++++++++-- source4/scripting/libjs/auth.js | 3 ++- source4/scripting/libjs/management.js | 3 ++- source4/scripting/libjs/provision.js | 16 ++++++++++------ swat/esptest/ldb.esp | 3 ++- swat/esptest/loadparm.esp | 11 ++++++----- testprogs/ejs/loadparm.js | 7 ++++--- 8 files changed, 42 insertions(+), 20 deletions(-) diff --git a/source4/scripting/bin/smbstatus b/source4/scripting/bin/smbstatus index 7fefae69630..38f2ab06a94 100755 --- a/source4/scripting/bin/smbstatus +++ b/source4/scripting/bin/smbstatus @@ -82,7 +82,9 @@ function show_nbt() println(""); } -printf("%s\n\n", lpGet("server string")); +var lp = loadparm_init(); + +printf("%s\n\n", lp.get("server string")); if (options['nbt'] != undefined) { show_nbt(); diff --git a/source4/scripting/ejs/smbcalls_config.c b/source4/scripting/ejs/smbcalls_config.c index 18bdd0547e6..7fc58f237da 100644 --- a/source4/scripting/ejs/smbcalls_config.c +++ b/source4/scripting/ejs/smbcalls_config.c @@ -139,11 +139,22 @@ static int ejs_lpGet(MprVarHandle eid, int argc, char **argv) return 0; } +/* + initialise loadparm ejs subsystem +*/ +static int ejs_loadparm_init(MprVarHandle eid, int argc, struct MprVar **argv) +{ + struct MprVar *obj = mprInitObject(eid, "loadparm", argc, argv); + + mprSetStringCFunction(obj, "get", ejs_lpGet); + mprSetStringCFunction(obj, "services", ejs_lpServices); + return 0; +} + /* setup C functions that be called from ejs */ void smb_setup_ejs_config(void) { - ejsDefineStringCFunction(-1, "lpGet", ejs_lpGet, NULL, MPR_VAR_SCRIPT_HANDLE); - ejsDefineStringCFunction(-1, "lpServices", ejs_lpServices, NULL, MPR_VAR_SCRIPT_HANDLE); + ejsDefineCFunction(-1, "loadparm_init", ejs_loadparm_init, NULL, MPR_VAR_SCRIPT_HANDLE); } diff --git a/source4/scripting/libjs/auth.js b/source4/scripting/libjs/auth.js index a973cb47539..73d86452182 100644 --- a/source4/scripting/libjs/auth.js +++ b/source4/scripting/libjs/auth.js @@ -11,7 +11,8 @@ function getDomainList() { var ret = new Array(2); + var lp = loadparm_init(); ret[0] = "System User"; - ret[1] = lpGet("workgroup"); + ret[1] = lp.get("workgroup"); return ret; } diff --git a/source4/scripting/libjs/management.js b/source4/scripting/libjs/management.js index 7130cdc5dd0..e1c68ca1de5 100644 --- a/source4/scripting/libjs/management.js +++ b/source4/scripting/libjs/management.js @@ -97,7 +97,8 @@ function nbtd_statistics() */ function service_enabled(name) { - var services = lpGet("server services"); + var lp = loadparm_init(); + var services = lp.get("server services"); var i; for (i=0;iAn attribute constrained search <% -var dbfile = lpGet("sam database"); +var lp = loadparm_init(); +var dbfile = lp.get("sam database"); var attrs = new Array("name", "dnsDomain", "objectSid", "dn"); var ldb = ldb_init(); var ok = ldb.connect(dbfile); diff --git a/swat/esptest/loadparm.esp b/swat/esptest/loadparm.esp index 9e6de480e23..9ea83b77bca 100644 --- a/swat/esptest/loadparm.esp +++ b/swat/esptest/loadparm.esp @@ -3,6 +3,8 @@

Samba4 loadparm test

<% +lp = loadparm_init(); + var f = FormObj("LoadparmTest", 2, 1); f.element[0].label = "Share"; f.element[1].label = "Parameter"; @@ -41,9 +43,9 @@ if (request['REQUEST_METHOD'] == "POST") { share = form['Share']; name = form['Parameter']; if (share && name) { - v = lpGet(share, name); + v = lp.get(share, name); } else if (name) { - v = lpGet(name); + v = lp.get(name); } showValue(name, v); @@ -53,11 +55,10 @@ if (request['REQUEST_METHOD'] == "POST") { Here are some commonly used parameters:

<% - -showValue("defined services", lpServices()); +showValue("defined services", lp.services()); function showParameter(name) { - showValue(name, lpGet(name)); + showValue(name, lp.get(name)); } showParameter("server services"); diff --git a/testprogs/ejs/loadparm.js b/testprogs/ejs/loadparm.js index 6c2a80bb73a..f56ca9f7fcc 100644 --- a/testprogs/ejs/loadparm.js +++ b/testprogs/ejs/loadparm.js @@ -2,9 +2,11 @@ demonstrate access to loadparm functions from ejs */ +loadparm_init(local); + function showParameter(name) { print(name + ": "); - printVars(lpGet(name)); + printVars(get(name)); } for (v in ARGV) { @@ -12,7 +14,7 @@ for (v in ARGV) { } print("defined services: "); -printVars(lpServices()); +printVars(services()); showParameter("server services"); showParameter("netbios name"); @@ -21,4 +23,3 @@ showParameter("workgroup"); showParameter("log level"); showParameter("server signing"); showParameter("interfaces"); - -- 2.34.1