diff options
author | Ulf Lilleengen <ulf.lilleengen@gmail.com> | 2021-10-06 18:43:55 +0200 |
---|---|---|
committer | Ulf Lilleengen <ulf.lilleengen@gmail.com> | 2021-10-06 18:43:55 +0200 |
commit | 8d78ed20f1313d00d8727f41383413a13c23d457 (patch) | |
tree | 754cfb7251bbf7d727b54aa4c82926554e312f76 /nrf-softdevice-macro | |
parent | 230d133f4d6e02d2631a3fcdcebe7675764c17fb (diff) | |
download | nrf-softdevice-8d78ed20f1313d00d8727f41383413a13c23d457.zip |
Simplify API
Diffstat (limited to 'nrf-softdevice-macro')
-rw-r--r-- | nrf-softdevice-macro/src/lib.rs | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/nrf-softdevice-macro/src/lib.rs b/nrf-softdevice-macro/src/lib.rs index c232aac..6cefa94 100644 --- a/nrf-softdevice-macro/src/lib.rs +++ b/nrf-softdevice-macro/src/lib.rs @@ -109,7 +109,7 @@ pub fn gatt_server(args: TokenStream, item: TokenStream) -> TokenStream { let mut code_impl = TokenStream2::new(); let mut code_register_chars = TokenStream2::new(); let mut code_register_init = TokenStream2::new(); - let mut code_on_event = TokenStream2::new(); + let mut code_on_write = TokenStream2::new(); let mut code_event_enum = TokenStream2::new(); let ble = quote!(::nrf_softdevice::ble); @@ -200,9 +200,9 @@ pub fn gatt_server(args: TokenStream, item: TokenStream) -> TokenStream { code_event_enum.extend(quote_spanned!(ch.span=> #case_write(#ty), )); - code_on_event.extend(quote_spanned!(ch.span=> + code_on_write.extend(quote_spanned!(ch.span=> if event.handle == self.#value_handle { - handler(#event_enum_name::#case_write(#ty_as_val::from_gatt(event.data))); + return Some(#event_enum_name::#case_write(#ty_as_val::from_gatt(event.data))); } )); } @@ -225,13 +225,13 @@ pub fn gatt_server(args: TokenStream, item: TokenStream) -> TokenStream { #case_enabled, #case_disabled, )); - code_on_event.extend(quote_spanned!(ch.span=> + code_on_write.extend(quote_spanned!(ch.span=> if event.handle == self.#cccd_handle { let data = event.data; if data.len() != 0 && data[0] & 0x01 != 0 { - handler(#event_enum_name::#case_enabled); + return Some(#event_enum_name::#case_enabled); } else { - handler(#event_enum_name::#case_disabled); + return Some(#event_enum_name::#case_disabled); } } )); @@ -267,9 +267,9 @@ pub fn gatt_server(args: TokenStream, item: TokenStream) -> TokenStream { }) } - fn on_event<'m, F>(&self, event: &#ble::gatt_server::GattEvent<'m>, mut handler: F) - where F: FnMut(Self::Event) { - #code_on_event + fn on_write<'m>(&self, event: #ble::gatt_server::GattEvent<'m>) -> Some<Self::Event> { + #code_on_write + None } } |