diff options
| author | Yuval Adam <_@yuv.al> | 2018-07-23 21:34:31 +0300 |
|---|---|---|
| committer | Yuval Adam <_@yuv.al> | 2018-07-23 21:34:31 +0300 |
| commit | 7092c0f2d29d8b7e2d9af23dac4b87e08ab1dc02 (patch) | |
| tree | 559dbd6620c6d32d240fcfd2166c3a120e64333b | |
| parent | c2e7d6e127b77371bfbc13f8fb93789efa95d8f6 (diff) | |
Refactor structs
| -rw-r--r-- | src/lib.rs | 23 |
1 files changed, 15 insertions, 8 deletions
@@ -5,26 +5,33 @@ const KNOWN_DEVICES: [(u16, u16, &str); 2] = [ (0x0bda, 0x2838, "Generic RTL2832U OEM") ]; +struct Usb { + ctx: libusb::Context, + desc: Option<libusb::DeviceDescriptor> + // dev: Option<libusb::Device> +} + pub struct RtlSdr { - usb_ctx: libusb::Context, - usb_dd: Option<libusb::DeviceDescriptor> + usb: Usb } impl RtlSdr { pub fn new() -> RtlSdr { RtlSdr { - usb_ctx: libusb::Context::new().unwrap(), - usb_dd: None + usb: Usb { + ctx: libusb::Context::new().unwrap(), + desc: None + } } } pub fn init(&mut self) { - self.usb_dd = self.find_device(); + self.usb.desc = self.find_device(); } pub fn find_device(&self) -> Option<libusb::DeviceDescriptor> { - for mut dev in self.usb_ctx.devices().unwrap().iter() { + for mut dev in self.usb.ctx.devices().unwrap().iter() { let desc = dev.device_descriptor().unwrap(); let vid = desc.vendor_id(); let pid = desc.product_id(); @@ -46,8 +53,8 @@ mod tests { #[test] fn test_init() { let mut rtlsdr = RtlSdr::new(); - assert!(rtlsdr.usb_dd.is_none()); + assert!(rtlsdr.usb.desc.is_none()); rtlsdr.init(); - assert!(rtlsdr.usb_dd.is_some()); + assert!(rtlsdr.usb.desc.is_some()); } } |
