svn commit: samba r23126 - in	branches/SAMBA_4_0/source/scripting/ejs/ejsnet: . 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:

