svn commit: samba r6709 - in branches/SAMBA_4_0/source/libnet: .

mimir at samba.org mimir at samba.org
Tue May 10 13:05:40 GMT 2005


Author: mimir
Date: 2005-05-10 13:05:40 +0000 (Tue, 10 May 2005)
New Revision: 6709

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

Log:
Add monitor messages to useradd composite useradd function.


rafal


Modified:
   branches/SAMBA_4_0/source/libnet/userman.c


Changeset:
Modified: branches/SAMBA_4_0/source/libnet/userman.c
===================================================================
--- branches/SAMBA_4_0/source/libnet/userman.c	2005-05-10 12:45:48 UTC (rev 6708)
+++ branches/SAMBA_4_0/source/libnet/userman.c	2005-05-10 13:05:40 UTC (rev 6709)
@@ -25,6 +25,7 @@
 #include "includes.h"
 #include "libcli/raw/libcliraw.h"
 #include "libcli/composite/composite.h"
+#include "libcli/composite/monitor.h"
 #include "librpc/gen_ndr/ndr_samr.h"
 #include "libnet/composite.h"
 
@@ -71,10 +72,13 @@
 {
 	struct composite_context *c = req->async.private;
 	struct useradd_state *s = talloc_get_type(c->private, struct useradd_state);
+	struct monitor_msg msg;
 	
 	switch (s->stage) {
 	case USERADD_CREATE:
 		c->status = useradd_create(c, s);
+		msg.type = rpc_create_user;
+		msg.data.rpc_create_user.rid = *s->createuser.out.rid;
 		break;
 	}
 
@@ -82,6 +86,10 @@
 		c->state = SMBCLI_REQUEST_ERROR;
 	}
 
+	if (c->monitor_fn) {
+		c->monitor_fn(&msg);
+	}
+
 	if (c->state >= SMBCLI_REQUEST_DONE &&
 	    c->async.fn) {
 		c->async.fn(c);
@@ -97,7 +105,8 @@
  */
 
 struct composite_context *rpc_composite_useradd_send(struct dcerpc_pipe *p,
-						     struct rpc_composite_useradd *io)
+						     struct rpc_composite_useradd *io,
+						     void (*monitor)(struct monitor_msg*))
 {
 	struct composite_context *c;
 	struct useradd_state *s;
@@ -111,9 +120,10 @@
 	s->domain_handle = io->in.domain_handle;
 	s->pipe          = p;
 	
-	c->state     = SMBCLI_REQUEST_SEND;
-	c->private   = s;
-	c->event_ctx = dcerpc_event_context(p);
+	c->state       = SMBCLI_REQUEST_SEND;
+	c->private     = s;
+	c->event_ctx   = dcerpc_event_context(p);
+	c->monitor_fn  = monitor;
 
 	/* preparing parameters to send rpc request */
 	s->createuser.in.domain_handle         = &io->in.domain_handle;
@@ -179,7 +189,7 @@
 			       TALLOC_CTX *mem_ctx,
 			       struct rpc_composite_useradd *io)
 {
-	struct composite_context *c = rpc_composite_useradd_send(pipe, io);
+	struct composite_context *c = rpc_composite_useradd_send(pipe, io, NULL);
 	return rpc_composite_useradd_recv(c, mem_ctx, io);
 }
 



More information about the samba-cvs mailing list