diff options
| author | Teddy Wing | 2018-08-25 22:52:41 +0200 |
|---|---|---|
| committer | Teddy Wing | 2018-08-25 22:52:41 +0200 |
| commit | 4fd3fd4ded73aa4ba5320de50cd6b19fdf70a8a7 (patch) | |
| tree | 10b9e17c4c1f8a113fce7e71c845aadbefc3fc0e /src/lib.rs | |
| parent | cdac4ed1ce81b76e6684f778fd07c8ebdacce556 (diff) | |
| download | dome-key-map-4fd3fd4ded73aa4ba5320de50cd6b19fdf70a8a7.tar.bz2 | |
Generate a partial C header for our FFI API
* Add the 'cbindgen' crate to help us auto-generate a C header for our
exported FFI enums/structs/functions
* Add a `build.rs` to generate the C header using cbindgen
* Add a rough config for 'cbindgen'
* Export everything from the `cocoa_bridge` crate to include the
`KeyActionResult` struct
* Commit the C header generated by 'cbindgen'
Looks promising. We do, however, have some things to correct. We can't
use `Option` in C, for instance, so we'll need to fix that in our
`KeyActionResult`. Similarly, we need to rework the `run_key_action()`
function to make it accessible as a C interface. Right now it returns an
`Option`, which isn't going to work, and I'm not sure if the slice input
translates. That (any maybe more) is why it doesn't get generated by
'cbindgen' into the header output file.
Diffstat (limited to 'src/lib.rs')
| -rw-r--r-- | src/lib.rs | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -8,4 +8,4 @@ mod parser; use parser::{HeadphoneButton, MapGroup, MapKind}; -pub use cocoa_bridge::run_key_action; +pub use cocoa_bridge::*; |
