mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-04-22 10:23:20 +03:00
refact: remote printer, log (#11271)
Signed-off-by: fufesou <linlong1266@gmail.com>
This commit is contained in:
@@ -1569,11 +1569,14 @@ impl<T: InvokeUiSession> Remote<T> {
|
|||||||
// Spawn a new thread to handle the print job.
|
// Spawn a new thread to handle the print job.
|
||||||
// Or print job will block the ui thread.
|
// Or print job will block the ui thread.
|
||||||
std::thread::spawn(move || {
|
std::thread::spawn(move || {
|
||||||
|
if let Err(e) =
|
||||||
crate::platform::send_raw_data_to_printer(
|
crate::platform::send_raw_data_to_printer(
|
||||||
printer_name,
|
printer_name,
|
||||||
data,
|
data,
|
||||||
)
|
)
|
||||||
.ok();
|
{
|
||||||
|
log::error!("Print job error: {}", e);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2862,19 +2862,15 @@ pub fn send_raw_data_to_printer(printer_name: Option<String>, data: Vec<u8>) ->
|
|||||||
if !names.contains(&printer_name) {
|
if !names.contains(&printer_name) {
|
||||||
// Don't set the first printer as current printer.
|
// Don't set the first printer as current printer.
|
||||||
// It may not be the desired printer.
|
// It may not be the desired printer.
|
||||||
log::error!(
|
|
||||||
"Printer name \"{}\" not found, ignore the print job",
|
|
||||||
printer_name
|
|
||||||
);
|
|
||||||
bail!("Printer name \"{}\" not found", &printer_name);
|
bail!("Printer name \"{}\" not found", &printer_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if printer_name.is_empty() {
|
if printer_name.is_empty() {
|
||||||
log::error!("Failed to get printer name");
|
|
||||||
return Err(anyhow!("Failed to get printer name"));
|
return Err(anyhow!("Failed to get printer name"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log::info!("Sending data to printer: {}", &printer_name);
|
||||||
let printer_name = wide_string(&printer_name);
|
let printer_name = wide_string(&printer_name);
|
||||||
unsafe {
|
unsafe {
|
||||||
let res = PrintXPSRawData(
|
let res = PrintXPSRawData(
|
||||||
@@ -2883,7 +2879,9 @@ pub fn send_raw_data_to_printer(printer_name: Option<String>, data: Vec<u8>) ->
|
|||||||
data.len() as c_ulong,
|
data.len() as c_ulong,
|
||||||
);
|
);
|
||||||
if res != 0 {
|
if res != 0 {
|
||||||
bail!("Failed to send file to printer, see logs in C:\\Windows\\temp\\test_rustdesk.log for more details.");
|
bail!("Failed to send data to the printer, see logs in C:\\Windows\\temp\\test_rustdesk.log for more details.");
|
||||||
|
} else {
|
||||||
|
log::info!("Successfully sent data to the printer");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user