| /// Check the `util` module to see how the `Card` structure is implemented. |
| pub mod utils; |
| use crate::utils::*; |
| |
| pub fn main() { |
| let card = Card::open_global(); |
| |
| // Attempt to acquire and release master lock |
| println!("Get Master lock: {:?}", card.acquire_master_lock()); |
| println!("Release Master lock: {:?}", card.release_master_lock()); |
| |
| // Get the Bus ID of the device |
| println!("Getting Bus ID: {:?}", card.get_bus_id().unwrap()); |
| |
| // Figure out driver in use |
| println!("Getting driver info"); |
| let driver = card.get_driver().unwrap(); |
| println!("\tName: {:?}", driver.name()); |
| println!("\tDate: {:?}", driver.date()); |
| println!("\tDesc: {:?}", driver.description()); |
| |
| // Enable all possible client capabilities |
| println!("Setting client capabilities"); |
| for &cap in capabilities::CLIENT_CAP_ENUMS { |
| println!("\t{:?}: {:?}", cap, card.set_client_capability(cap, true)); |
| } |
| |
| // Get driver capabilities |
| println!("Getting driver capabilities"); |
| for &cap in capabilities::DRIVER_CAP_ENUMS { |
| println!("\t{:?}: {:?}", cap, card.get_driver_capability(cap)); |
| } |
| } |