r8639: moved loadparm calls into an ejs object
authorAndrew Tridgell <tridge@samba.org>
Wed, 20 Jul 2005 07:20:03 +0000 (07:20 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:29:48 +0000 (13:29 -0500)
(This used to be commit 2dc493eea6f9d87c40ad0dc755f528ce0b33ca47)

source4/scripting/bin/smbstatus
source4/scripting/ejs/smbcalls_config.c
source4/scripting/libjs/auth.js
source4/scripting/libjs/management.js
source4/scripting/libjs/provision.js
swat/esptest/ldb.esp
swat/esptest/loadparm.esp
testprogs/ejs/loadparm.js

index 7fefae6..38f2ab0 100755 (executable)
@@ -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();
index 18bdd05..7fc58f2 100644 (file)
@@ -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);
 }
index a973cb4..73d8645 100644 (file)
@@ -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;
 }
index 7130cdc..e1c68ca 100644 (file)
@@ -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;i<services.length;i++) {
                if (services[i] == name) {
index d3b94c1..e9a8aad 100644 (file)
@@ -141,13 +141,14 @@ function setup_ldb(ldif, dbname, subobj)
 {
        var extra = "";
        var ldb = ldb_init();
+       var lp = loadparm_init();
 
        if (arguments.length == 4) {
                extra = arguments[3];
        }
 
        var dbfile = dbname;
-       var src = lpGet("setup directory") + "/" + ldif;
+       var src = lp.get("setup directory") + "/" + ldif;
 
        var data = sys.file_load(src);
        data = data + extra;
@@ -167,8 +168,9 @@ function setup_ldb(ldif, dbname, subobj)
  */
 function setup_file(template, fname, subobj)
 {
-       var f = lpGet("private dir") + "/" + fname;
-       var src = lpGet("setup directory") + "/" + template;
+       var lp = loadparm_init();
+       var f = lp.get("private dir") + "/" + fname;
+       var src = lp.get("setup directory") + "/" + template;
 
        sys.unlink(f);
 
@@ -221,9 +223,10 @@ function provision_guess()
 {
        var subobj = new Object();
        var nss = nss_init();
+       var lp = loadparm_init();
 
-       subobj.REALM        = lpGet("realm");
-       subobj.DOMAIN       = lpGet("workgroup");
+       subobj.REALM        = lp.get("realm");
+       subobj.DOMAIN       = lp.get("workgroup");
        subobj.HOSTNAME     = hostname();
        subobj.HOSTIP       = hostip();
        subobj.DOMAINGUID   = randguid();
@@ -271,7 +274,8 @@ function searchone(ldb, expression, attribute)
 */
 function newuser(username, unixname, password, message)
 {
-       var samdb = lpGet("sam database");
+       var lp = loadparm_init();
+       var samdb = lp.get("sam database");
        var ldb = ldb_init();
 
        /* connect to the sam */
index b0a2db8..20b95b1 100644 (file)
@@ -5,7 +5,8 @@
 <h3>An attribute constrained search</h3>
 
 <%
-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);
index 9e6de48..9ea83b7 100644 (file)
@@ -3,6 +3,8 @@
 <h1>Samba4 loadparm test</h1>
 
 <%
+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:<p>
 
 <%
-
-showValue("defined services", lpServices());
+showValue("defined services", lp.services());
 
 function showParameter(name) {
-       showValue(name, lpGet(name));
+       showValue(name, lp.get(name));
 }
 
 showParameter("server services");
index 6c2a80b..f56ca9f 100644 (file)
@@ -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");
-