diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/cocoa_bridge.rs | 51 | ||||
| -rw-r--r-- | src/lib.rs | 2 | ||||
| -rw-r--r-- | src/parser.rs | 1 |
3 files changed, 28 insertions, 26 deletions
diff --git a/src/cocoa_bridge.rs b/src/cocoa_bridge.rs index f2d5f45..fe65533 100644 --- a/src/cocoa_bridge.rs +++ b/src/cocoa_bridge.rs @@ -2,8 +2,8 @@ use std::ffi::CString; use std::ptr; use std::slice; -use cocoa::base::nil; -use cocoa::foundation::{NSArray, NSAutoreleasePool, NSDictionary}; +// use cocoa::base::nil; +// use cocoa::foundation::{NSArray, NSAutoreleasePool, NSDictionary}; use libc::{c_char, size_t}; use {HeadphoneButton, MapGroup, MapKind}; @@ -12,28 +12,28 @@ use {HeadphoneButton, MapGroup, MapKind}; struct renameMeMapGroup { } -pub extern "C" fn parse_mappings() { - let sample_maps = "map <up> k -map <down> j"; - - let map_group = MapGroup::parse(sample_maps).unwrap(); - - unsafe { - let _pool = NSAutoreleasePool::new(nil); - - let maps = NSDictionary::init(nil).autorelease(); - let modes = NSDictionary::init(nil).autorelease(); - - for (trigger, action) in map_group.maps { - // let t = NSArray::arrayWithObjects(nil, &trigger).autorelease(); - - // maps. - } - - for (trigger, modes) in map_group.modes { - } - } -} +// pub extern "C" fn parse_mappings() { +// let sample_maps = "map <up> k +// map <down> j"; +// +// let map_group = MapGroup::parse(sample_maps).unwrap(); +// +// unsafe { +// let _pool = NSAutoreleasePool::new(nil); +// +// let maps = NSDictionary::init(nil).autorelease(); +// let modes = NSDictionary::init(nil).autorelease(); +// +// for (trigger, action) in map_group.maps { +// // let t = NSArray::arrayWithObjects(nil, &trigger).autorelease(); +// +// // maps. +// } +// +// for (trigger, modes) in map_group.modes { +// } +// } +// } // Different method: // Call Rust function with trigger @@ -97,7 +97,8 @@ pub extern "C" fn run_key_action( trigger: &[HeadphoneButton] ) -> Option<KeyActionResult> { let sample_maps = "map <up> k -map <down> j"; +map <down> j +map <play><down> works!"; // Figure out how to persist this without re-parsing let map_group = MapGroup::parse(sample_maps).unwrap(); @@ -1,4 +1,4 @@ -extern crate cocoa; +// extern crate cocoa; #[macro_use] extern crate combine; diff --git a/src/parser.rs b/src/parser.rs index c6c8cce..1d9aa56 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -23,6 +23,7 @@ pub enum HeadphoneButton { type Trigger = Vec<HeadphoneButton>; type Action = String; +#[repr(C)] #[derive(Debug, PartialEq)] pub enum MapKind { Map, |
