blob: c1b06d7ce80d5368b82addae43f9f87b97d07ad2 [file] [log] [blame]
//!
//! CUPS-specific IPP operations. For operations which require user authentication the URI may include authority part.
//!
use http::Uri;
use crate::{model::Operation, operation::IppOperation, request::IppRequestResponse};
/// IPP operation CUPS-Get-Printers
#[derive(Default)]
pub struct CupsGetPrinters;
impl CupsGetPrinters {
/// Create CUPS-Get-Printers operation
pub fn new() -> CupsGetPrinters {
CupsGetPrinters
}
}
impl IppOperation for CupsGetPrinters {
fn into_ipp_request(self) -> IppRequestResponse {
IppRequestResponse::new(self.version(), Operation::CupsGetPrinters, None)
}
}
/// IPP operation CUPS-Delete-Printer
pub struct CupsDeletePrinter(Uri);
impl CupsDeletePrinter {
/// Create CUPS-Get-Printers operation
pub fn new(printer_uri: Uri) -> CupsDeletePrinter {
CupsDeletePrinter(printer_uri)
}
}
impl IppOperation for CupsDeletePrinter {
fn into_ipp_request(self) -> IppRequestResponse {
IppRequestResponse::new(self.version(), Operation::CupsDeletePrinter, Some(self.0))
}
}