summaryrefslogtreecommitdiff
path: root/source3/printing/notify.c
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2002-08-17 16:31:24 +0000
committerJelmer Vernooij <jelmer@samba.org>2002-08-17 16:31:24 +0000
commit669a39fae36f8bc60753c9b352556ef8ffaeb568 (patch)
tree51a2b6a3cf7d3f735ca0b00218901227877659c4 /source3/printing/notify.c
parentec85fa62f2a824408d789c8ca447623a69642e05 (diff)
downloadsamba-669a39fae36f8bc60753c9b352556ef8ffaeb568.tar.gz
samba-669a39fae36f8bc60753c9b352556ef8ffaeb568.tar.bz2
samba-669a39fae36f8bc60753c9b352556ef8ffaeb568.zip
Sync 3.0 branch with HEAD
(This used to be commit eac75549c398f208484ae735d5a5931fed6d0e99)
Diffstat (limited to 'source3/printing/notify.c')
-rw-r--r--source3/printing/notify.c65
1 files changed, 41 insertions, 24 deletions
diff --git a/source3/printing/notify.c b/source3/printing/notify.c
index 21e28d0ca7..925d49a21d 100644
--- a/source3/printing/notify.c
+++ b/source3/printing/notify.c
@@ -3,6 +3,7 @@
Version 2.2
printing backend routines
Copyright (C) Tim Potter, 2002
+ Copyright (C) Gerald Carter, 2002
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -65,18 +66,17 @@ again:
/* Send message */
- tdb = tdb_open_log(lock_path("connections.tdb"), 0, TDB_DEFAULT, O_RDONLY, 0);
+ tdb = conn_tdb_ctx();
if (!tdb) {
DEBUG(3, ("Failed to open connections database in send_spoolss_notify2_msg\n"));
- return;
+ goto done;
}
+
+ message_send_all(tdb, MSG_PRINTER_NOTIFY2, buf, buflen, False, NULL);
- message_send_all(tdb, MSG_PRINTER_NOTIFY2, buf,
- buflen, False, NULL);
-
+done:
SAFE_FREE(buf);
- tdb_close(tdb);
}
static void send_notify_field_values(const char *printer_name, uint32 type,
@@ -129,7 +129,7 @@ void notify_printer_status_byname(const char *printer_name, uint32 status)
void notify_printer_status(int snum, uint32 status)
{
- const char *printer_name = PRINTERNAME(snum);
+ const char *printer_name = SERVICE(snum);
if (printer_name)
notify_printer_status_byname(printer_name, status);
@@ -147,14 +147,14 @@ void notify_job_status_byname(const char *printer_name, uint32 jobid, uint32 sta
void notify_job_status(int snum, uint32 jobid, uint32 status)
{
- const char *printer_name = PRINTERNAME(snum);
+ const char *printer_name = SERVICE(snum);
notify_job_status_byname(printer_name, jobid, status, 0);
}
void notify_job_total_bytes(int snum, uint32 jobid, uint32 size)
{
- const char *printer_name = PRINTERNAME(snum);
+ const char *printer_name = SERVICE(snum);
/* Job id stored in id field, status in value1 */
@@ -165,7 +165,7 @@ void notify_job_total_bytes(int snum, uint32 jobid, uint32 size)
void notify_job_total_pages(int snum, uint32 jobid, uint32 pages)
{
- const char *printer_name = PRINTERNAME(snum);
+ const char *printer_name = SERVICE(snum);
/* Job id stored in id field, status in value1 */
@@ -176,7 +176,7 @@ void notify_job_total_pages(int snum, uint32 jobid, uint32 pages)
void notify_job_username(int snum, uint32 jobid, char *name)
{
- const char *printer_name = PRINTERNAME(snum);
+ const char *printer_name = SERVICE(snum);
send_notify_field_buffer(
printer_name, JOB_NOTIFY_TYPE, JOB_NOTIFY_USER_NAME,
@@ -185,7 +185,7 @@ void notify_job_username(int snum, uint32 jobid, char *name)
void notify_job_name(int snum, uint32 jobid, char *name)
{
- const char *printer_name = PRINTERNAME(snum);
+ const char *printer_name = SERVICE(snum);
send_notify_field_buffer(
printer_name, JOB_NOTIFY_TYPE, JOB_NOTIFY_DOCUMENT,
@@ -194,37 +194,54 @@ void notify_job_name(int snum, uint32 jobid, char *name)
void notify_job_submitted(int snum, uint32 jobid, time_t submitted)
{
- const char *printer_name = PRINTERNAME(snum);
+ const char *printer_name = SERVICE(snum);
send_notify_field_buffer(
printer_name, JOB_NOTIFY_TYPE, JOB_NOTIFY_SUBMITTED,
jobid, sizeof(submitted), (char *)&submitted);
}
-void notify_printer_delete(char *printer_name)
+void notify_printer_driver(int snum, char *driver_name)
{
-}
+ const char *printer_name = SERVICE(snum);
-void notify_printer_add(char *printer_name)
-{
+ send_notify_field_buffer(
+ printer_name, PRINTER_NOTIFY_TYPE, PRINTER_NOTIFY_DRIVER_NAME,
+ snum, strlen(driver_name) + 1, driver_name);
}
-void notify_printer_driver(int num, char *driver_name)
+void notify_printer_comment(int snum, char *comment)
{
-}
+ const char *printer_name = SERVICE(snum);
-void notify_printer_comment(int num, char *comment)
-{
+ send_notify_field_buffer(
+ printer_name, PRINTER_NOTIFY_TYPE, PRINTER_NOTIFY_COMMENT,
+ snum, strlen(comment) + 1, comment);
}
-void notify_printer_sharename(int num, char *share_name)
+void notify_printer_sharename(int snum, char *share_name)
{
+ const char *printer_name = SERVICE(snum);
+
+ send_notify_field_buffer(
+ printer_name, PRINTER_NOTIFY_TYPE, PRINTER_NOTIFY_SHARE_NAME,
+ snum, strlen(share_name) + 1, share_name);
}
-void notify_printer_port(int num, char *port_name)
+void notify_printer_port(int snum, char *port_name)
{
+ const char *printer_name = SERVICE(snum);
+
+ send_notify_field_buffer(
+ printer_name, PRINTER_NOTIFY_TYPE, PRINTER_NOTIFY_PORT_NAME,
+ snum, strlen(port_name) + 1, port_name);
}
-void notify_printer_location(int num, char *location)
+void notify_printer_location(int snum, char *location)
{
+ const char *printer_name = SERVICE(snum);
+
+ send_notify_field_buffer(
+ printer_name, PRINTER_NOTIFY_TYPE, PRINTER_NOTIFY_LOCATION,
+ snum, strlen(location) + 1, location);
}