summaryrefslogtreecommitdiff
path: root/hid/src/manager.rs
diff options
context:
space:
mode:
Diffstat (limited to 'hid/src/manager.rs')
-rw-r--r--hid/src/manager.rs56
1 files changed, 0 insertions, 56 deletions
diff --git a/hid/src/manager.rs b/hid/src/manager.rs
deleted file mode 100644
index 4c2eb23..0000000
--- a/hid/src/manager.rs
+++ /dev/null
@@ -1,56 +0,0 @@
-use std::sync::atomic::{AtomicBool, ATOMIC_BOOL_INIT, Ordering};
-
-use sys::*;
-use error::{self, Error};
-use devices::Devices;
-
-static INITIALIZED: AtomicBool = ATOMIC_BOOL_INIT;
-
-/// The device manager.
-pub struct Manager;
-
-unsafe impl Send for Manager { }
-
-/// Create the manager.
-pub fn init() -> error::Result<Manager> {
- if INITIALIZED.load(Ordering::Relaxed) {
- return Err(Error::Initialized);
- }
-
- let status = unsafe { hid_init() };
-
- if status != 0 {
- return Err(Error::from(status));
- }
-
- INITIALIZED.store(true, Ordering::Relaxed);
-
- Ok(Manager)
-}
-
-impl Drop for Manager {
- fn drop(&mut self) {
- let status = unsafe { hid_exit() };
-
- if status != 0 {
- panic!("hid_exit() failed");
- }
-
- INITIALIZED.store(false, Ordering::Relaxed);
- }
-}
-
-impl Manager {
- /// Find the wanted device, `vendor` or `product` are given it will
- /// returns only the matches devices.
- pub fn find(&self, vendor: Option<u16>, product: Option<u16>) -> Devices {
- unsafe {
- Devices::new(vendor, product)
- }
- }
-
- /// Return all devices.
- pub fn devices(&self) -> Devices {
- self.find(None, None)
- }
-}