Author: mimir
Date: 2007-05-24 21:51:25 +0000 (Thu, 24 May 2007)
New Revision: 23126

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23126

Log:
this was sitting on my laptop for a while...

change the way the ejs object is being created and return listing
context (with status) rather than collecting all entries gathered
from libnet call.


rafal


Modified:
   branches/SAMBA_4_0/source/scripting/ejs/ejsnet/mpr_user.c
   branches/SAMBA_4_0/source/scripting/ejs/ejsnet/net_user.c


Changeset:
Modified: branches/SAMBA_4_0/source/scripting/ejs/ejsnet/mpr_user.c
===================================================================
--- branches/SAMBA_4_0/source/scripting/ejs/ejsnet/mpr_user.c   2007-05-24 
21:45:29 UTC (rev 23125)
+++ branches/SAMBA_4_0/source/scripting/ejs/ejsnet/mpr_user.c   2007-05-24 
21:51:25 UTC (rev 23126)
@@ -101,6 +101,7 @@
   UserListCtx.ResumeIndex
   UserListCtx.Count
   UserListCtx.EndOfList
+  UserListCtx.Status
  */
 struct MprVar mprUserListCtx(TALLOC_CTX *mem_ctx, struct libnet_UserList 
*list, NTSTATUS result)
 {
@@ -144,6 +145,8 @@
        status = mprSetVar(&mprListCtx, "ResumeIndex", 
mprCreateIntegerVar((int)list->out.resume_index));
        if (!NT_STATUS_IS_OK(status)) goto done;
        status = mprSetVar(&mprListCtx, "EndOfList", 
mprCreateBoolVar(endOfList));
+       if (!NT_STATUS_IS_OK(status)) goto done;
+       status = mprSetVar(&mprListCtx, "Status", mprNTSTATUS(result));
 
 done:
        return mprListCtx;

Modified: branches/SAMBA_4_0/source/scripting/ejs/ejsnet/net_user.c
===================================================================
--- branches/SAMBA_4_0/source/scripting/ejs/ejsnet/net_user.c   2007-05-24 
21:45:29 UTC (rev 23125)
+++ branches/SAMBA_4_0/source/scripting/ejs/ejsnet/net_user.c   2007-05-24 
21:51:25 UTC (rev 23126)
@@ -43,7 +43,7 @@
 {
        struct libnet_context *ctx;
        const char *userman_domain = NULL;
-       struct MprVar *obj = NULL;
+       struct MprVar obj;
 
        /* libnet context */
        ctx = mprGetThisPtr(eid, "ctx");
@@ -74,21 +74,24 @@
        }
 
        /* create 'net user' subcontext */
-       obj = mprInitObject(eid, "NetUsrCtx", argc, argv);
+       obj = mprObject("NetUsrCtx");
 
        /* we need to make a copy of the string for this object */
        userman_domain = talloc_strdup(ctx, userman_domain);
 
        /* add properties */
-       mprSetPtrChild(obj, "ctx", ctx);
-       mprSetPtrChild(obj, "domain", userman_domain);
+       mprSetPtrChild(&obj, "ctx", ctx);
+       mprSetPtrChild(&obj, "domain", userman_domain);
 
        /* add methods */
-       mprSetStringCFunction(obj, "Create", ejs_net_createuser);
-       mprSetStringCFunction(obj, "Delete", ejs_net_deleteuser);
-       mprSetStringCFunction(obj, "Info", ejs_net_userinfo);
-       mprSetCFunction(obj, "List", ejs_net_userlist);
+       mprSetStringCFunction(&obj, "Create", ejs_net_createuser);
+       mprSetStringCFunction(&obj, "Delete", ejs_net_deleteuser);
+       mprSetStringCFunction(&obj, "Info", ejs_net_userinfo);
+       mprSetCFunction(&obj, "List", ejs_net_userlist);
 
+       /* set the object returned by this function */
+       mpr_Return(eid, obj);
+
        return 0;
 }
 
@@ -347,16 +350,6 @@
        req.in.page_size     = page_size;
        
        status = libnet_UserList(ctx, mem_ctx, &req);
-       if (!NT_STATUS_IS_OK(status) &&
-           !NT_STATUS_EQUAL(status, STATUS_MORE_ENTRIES) &&
-           !NT_STATUS_EQUAL(status, NT_STATUS_NO_MORE_ENTRIES)) {
-
-               ejsSetErrorMsg(eid, "%s", req.out.error_string);
-               
-               mprListCtx = mprCreateNullVar();
-               goto done;
-       }
-
        mprListCtx = mprUserListCtx(mem_ctx, &req, status);
 
 done:

Reply via email to