summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2018-07-23 21:34:31 +0300
committerYuval Adam <_@yuv.al>2018-07-23 21:34:31 +0300
commit7092c0f2d29d8b7e2d9af23dac4b87e08ab1dc02 (patch)
tree559dbd6620c6d32d240fcfd2166c3a120e64333b /src
parentc2e7d6e127b77371bfbc13f8fb93789efa95d8f6 (diff)
Refactor structs
Diffstat (limited to 'src')
-rw-r--r--src/lib.rs23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 3c67d2a..2a0a330 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -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());
}
}