s3: Lift the server_messaging_context from print_queue_length
authorVolker Lendecke <vl@samba.org>
Sun, 8 Aug 2010 13:47:51 +0000 (15:47 +0200)
committerVolker Lendecke <vl@samba.org>
Sun, 8 Aug 2010 16:09:33 +0000 (18:09 +0200)
source3/include/printing.h
source3/printing/printing.c
source3/rpc_server/srv_spoolss_nt.c

index 95b0ec62790508145d2ed977cc2c11f298a396db..35590a30d29d55f617c9decaf8622eb6a66e8a90 100644 (file)
@@ -134,7 +134,8 @@ bool print_job_resume(struct auth_serversupplied_info *server_info,
                      struct messaging_context *msg_ctx,
                      int snum, uint32 jobid, WERROR *errcode);
 ssize_t print_job_write(int snum, uint32 jobid, const char *buf, SMB_OFF_T pos, size_t size);
-int print_queue_length(int snum, print_status_struct *pstatus);
+int print_queue_length(struct messaging_context *msg_ctx, int snum,
+                      print_status_struct *pstatus);
 WERROR print_job_start(struct auth_serversupplied_info *server_info,
                       struct messaging_context *msg_ctx,
                       int snum, const char *docname, const char *filename,
index 3140e34e6594dc5b039737cce627a474bfd91836..91ea09b28f0e668ff46bcb68c24b9abf5b836d9b 100644 (file)
@@ -2366,7 +2366,8 @@ static int get_queue_status(const char* sharename, print_status_struct *status)
  Determine the number of jobs in a queue.
 ****************************************************************************/
 
-int print_queue_length(int snum, print_status_struct *pstatus)
+int print_queue_length(struct messaging_context *msg_ctx, int snum,
+                      print_status_struct *pstatus)
 {
        const char* sharename = lp_const_servicename( snum );
        print_status_struct status;
@@ -2376,7 +2377,7 @@ int print_queue_length(int snum, print_status_struct *pstatus)
 
        /* make sure the database is up to date */
        if (print_cache_expired(lp_const_servicename(snum), True))
-               print_queue_update(server_messaging_context(), snum, False);
+               print_queue_update(msg_ctx, snum, False);
 
        /* also fetch the queue status */
        memset(&status, 0, sizeof(status));
@@ -2545,7 +2546,7 @@ static WERROR print_job_checks(struct auth_serversupplied_info *server_info,
        }
 
        /* Insure the maximum queue size is not violated */
-       *njobs = print_queue_length(snum, NULL);
+       *njobs = print_queue_length(msg_ctx, snum, NULL);
        if (*njobs > lp_maxprintjobs(snum)) {
                DEBUG(3, ("print_job_checks: Queue %s number of jobs (%d) "
                          "larger than max printjobs per queue (%d).\n",
index a58786ce61421c6c66734241b7d1fab0aa049d81..aaa88f584d75e8648c9312ff006d7296a5a426cc 100644 (file)
@@ -2741,7 +2741,7 @@ static void spoolss_notify_status(int snum,
 {
        print_status_struct status;
 
-       print_queue_length(snum, &status);
+       print_queue_length(server_messaging_context(), snum, &status);
        SETUP_SPOOLSS_NOTIFY_DATA_INTEGER(data, status.status);
 }
 
@@ -2755,7 +2755,9 @@ static void spoolss_notify_cjobs(int snum,
                                 struct spoolss_PrinterInfo2 *pinfo2,
                                 TALLOC_CTX *mem_ctx)
 {
-       SETUP_SPOOLSS_NOTIFY_DATA_INTEGER(data, print_queue_length(snum, NULL));
+       SETUP_SPOOLSS_NOTIFY_DATA_INTEGER(
+               data, print_queue_length(server_messaging_context(), snum,
+                                        NULL));
 }
 
 /*******************************************************************
@@ -3478,7 +3480,7 @@ static WERROR construct_printer_info0(TALLOC_CTX *mem_ctx,
        r->servername           = talloc_strdup(mem_ctx, info2->servername);
        W_ERROR_HAVE_NO_MEMORY(r->servername);
 
-       count = print_queue_length(snum, &status);
+       count = print_queue_length(msg_ctx, snum, &status);
 
        /* check if we already have a counter for this printer */
        for (session_counter = counter_list; session_counter; session_counter = session_counter->next) {
@@ -3589,7 +3591,7 @@ static WERROR construct_printer_info2(TALLOC_CTX *mem_ctx,
        int count;
        print_status_struct status;
 
-       count = print_queue_length(snum, &status);
+       count = print_queue_length(server_messaging_context(), snum, &status);
 
        r->servername           = talloc_strdup(mem_ctx, info2->servername);
        W_ERROR_HAVE_NO_MEMORY(r->servername);
@@ -3727,7 +3729,7 @@ static WERROR construct_printer_info6(TALLOC_CTX *mem_ctx,
        int count;
        print_status_struct status;
 
-       count = print_queue_length(snum, &status);
+       count = print_queue_length(server_messaging_context(), snum, &status);
 
        r->status = nt_printq_status(status.status);