#[non_exhaustive]pub struct PrinterBuilder {
pub pnp_string: Option<String>,
pub qlen: Option<u8>,
}Expand description
Builder for USB printer function.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.pnp_string: Option<String>The PNP ID string used for this printer.
qlen: Option<u8>The number of 8k buffers to use per endpoint. The default is 10.
Implementations§
Source§impl PrinterBuilder
impl PrinterBuilder
Sourcepub fn build(self) -> (Printer, Handle)
pub fn build(self) -> (Printer, Handle)
Build the USB function.
The returned handle must be added to a USB gadget configuration.
Examples found in repository?
examples/printer.rs (line 57)
50fn create_printer_gadget() -> Result<RegGadget> {
51 usb_gadget::remove_all().expect("cannot remove all gadgets");
52
53 let udc = default_udc().expect("cannot get UDC");
54 let mut builder = Printer::builder();
55 builder.pnp_string = Some("Rust PNP".to_string());
56
57 let (_, func) = builder.build();
58 let reg = Gadget::new(
59 Class::INTERFACE_SPECIFIC,
60 Id::LINUX_FOUNDATION_COMPOSITE,
61 Strings::new("Clippy Manufacturer", "Rusty Printer", "RUST0123456"),
62 )
63 .with_config(Config::new("Config 1").with_function(func))
64 .bind(&udc)?;
65
66 Ok(reg)
67}Trait Implementations§
Source§impl Clone for PrinterBuilder
impl Clone for PrinterBuilder
Source§fn clone(&self) -> PrinterBuilder
fn clone(&self) -> PrinterBuilder
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for PrinterBuilder
impl RefUnwindSafe for PrinterBuilder
impl Send for PrinterBuilder
impl Sync for PrinterBuilder
impl Unpin for PrinterBuilder
impl UnsafeUnpin for PrinterBuilder
impl UnwindSafe for PrinterBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more