dnpds40: Enable use of fast return mode

Or more accurately, block until print complete if not in fast return mode.
This commit is contained in:
Solomon Peachy 2016-01-20 20:11:54 -05:00
parent f97b139549
commit 24ef3b445d
1 changed files with 26 additions and 1 deletions

View File

@ -1197,6 +1197,31 @@ top:
ptr += i;
}
if (fast_return) {
INFO("Fast return mode enabled.\n");
} else {
INFO("Waiting for job to complete...\n");
while (1) {
/* Query status */
dnpds40_build_cmd(&cmd, "STATUS", "", 0);
if (resp) free(resp);
resp = dnpds40_resp_cmd(ctx, &cmd, &len);
if (!resp)
return CUPS_BACKEND_FAILED;
dnpds40_cleanup_string((char*)resp, len);
status = atoi((char*)resp);
/* If we're idle or there's an error..*/
if (status == 0)
break;
if (status >= 1000) {
ERROR("Printer encountered error: %s\n", dnpds40_statuses(status));
break;
}
}
}
/* Clean up */
if (terminate)
copies = 1;
@ -1925,7 +1950,7 @@ static int dnpds40_cmdline_arg(void *vctx, int argc, char **argv)
/* Exported */
struct dyesub_backend dnpds40_backend = {
.name = "DNP DS40/DS80/DSRX1/DS620",
.version = "0.69",
.version = "0.70",
.uri_prefix = "dnpds40",
.cmdline_usage = dnpds40_cmdline,
.cmdline_arg = dnpds40_cmdline_arg,