1 //! Shared data-types and utility methods go here. 2 3 pub mod address; 4 mod ffi; 5 pub mod shared_box; 6 pub mod shared_mutex; 7 pub mod uuid; 8 9 use std::pin::Pin; 10 11 use cxx::UniquePtr; 12 13 use crate::gatt::ffi::{AttTransportImpl, GattCallbacksImpl}; 14 use crate::RustModuleRunner; 15 16 use self::ffi::{future_ready, Future, GattServerCallbacks}; 17 start( gatt_server_callbacks: UniquePtr<GattServerCallbacks>, on_started: Pin<&'static mut Future>, )18fn start( 19 gatt_server_callbacks: UniquePtr<GattServerCallbacks>, 20 on_started: Pin<&'static mut Future>, 21 ) { 22 RustModuleRunner::start(GattCallbacksImpl(gatt_server_callbacks), AttTransportImpl(), || { 23 future_ready(on_started); 24 }); 25 } 26 stop()27fn stop() { 28 RustModuleRunner::stop(); 29 } 30 set_disabled_in_test()31fn set_disabled_in_test() { 32 RustModuleRunner::set_disabled_in_test(); 33 } 34