summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2021-04-25 11:16:59 +0300
committerYuval Adam <_@yuv.al>2021-04-25 11:16:59 +0300
commit5979051bd97b61762567fb4710de3dc8a69135c6 (patch)
tree11290033a554eb0410839d04f3468d460700b5ba /src
parent0fbe61bf1af789b2d3cba19b9a69d3453382032e (diff)
Try holding an Tuners enum
Diffstat (limited to 'src')
-rw-r--r--src/usb.rs11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/usb.rs b/src/usb.rs
index 7924ad3..4a51db1 100644
--- a/src/usb.rs
+++ b/src/usb.rs
@@ -40,7 +40,8 @@ const CTRL_TIMEOUT: Duration = Duration::from_millis(300);
pub struct RtlSdrDeviceHandle {
handle: DeviceHandle<GlobalContext>,
- tuner: Option<Box<dyn Tuner>>,
+ tuner: Option<Tuners>,
+ // tuner: Option<Box<dyn Tuner>>,
iface_id: u8,
kernel_driver_active: bool,
}
@@ -69,9 +70,11 @@ impl RtlSdrDeviceHandle {
None => "",
};
- let tuner: Option<Box<dyn Tuner>> = match tuner_id {
- r820t::TUNER_ID => Some(Box::new(r820t::R820T::new(&self))),
- fc0013::TUNER_ID => Some(Box::new(fc0013::FC0013::new(&self))),
+ let tuner: Option<Tuners> = match tuner_id {
+ r820t::TUNER_ID => Some(Tuners::R820T(r820t::R820T::new(&self))),
+ fc0013::TUNER_ID => Some(Tuners::FC0013(fc0013::FC0013::new(&self))),
+ // r820t::TUNER_ID => Some(Box::new(r820t::R820T::new(&self))),
+ // fc0013::TUNER_ID => Some(Box::new(fc0013::FC0013::new(&self))),
_ => {
error!("Could not find any valid tuner.");
None