#[allow(dead_code)]
pub(crate) mod e4k;
#[allow(dead_code)]
pub(crate) mod fc0012;
#[allow(dead_code)]
pub(crate) mod fc0013;
#[allow(dead_code)]
pub(crate) mod fc2580;
pub(crate) mod r82xx;
use crate::error::RtlSdrError;
pub trait Tuner: Send {
fn init(&mut self, handle: &rusb::DeviceHandle<rusb::GlobalContext>)
-> Result<(), RtlSdrError>;
fn exit(&mut self, handle: &rusb::DeviceHandle<rusb::GlobalContext>)
-> Result<(), RtlSdrError>;
fn set_freq(
&mut self,
handle: &rusb::DeviceHandle<rusb::GlobalContext>,
freq: u32,
) -> Result<(), RtlSdrError>;
fn set_bw(
&mut self,
handle: &rusb::DeviceHandle<rusb::GlobalContext>,
bw: u32,
sample_rate: u32,
) -> Result<u32, RtlSdrError>;
fn set_gain(
&mut self,
handle: &rusb::DeviceHandle<rusb::GlobalContext>,
gain: i32,
) -> Result<(), RtlSdrError>;
fn set_xtal(&mut self, xtal: u32);
fn set_gain_mode(
&mut self,
handle: &rusb::DeviceHandle<rusb::GlobalContext>,
manual: bool,
) -> Result<(), RtlSdrError>;
fn set_if_gain(
&mut self,
_handle: &rusb::DeviceHandle<rusb::GlobalContext>,
_stage: i32,
_gain: i32,
) -> Result<(), RtlSdrError> {
Ok(())
}
}