summaryrefslogtreecommitdiff
path: root/nrf-softdevice-macro
diff options
context:
space:
mode:
authorUlf Lilleengen <ulf.lilleengen@gmail.com>2021-10-06 18:43:55 +0200
committerUlf Lilleengen <ulf.lilleengen@gmail.com>2021-10-06 18:43:55 +0200
commit8d78ed20f1313d00d8727f41383413a13c23d457 (patch)
tree754cfb7251bbf7d727b54aa4c82926554e312f76 /nrf-softdevice-macro
parent230d133f4d6e02d2631a3fcdcebe7675764c17fb (diff)
downloadnrf-softdevice-8d78ed20f1313d00d8727f41383413a13c23d457.zip
Simplify API
Diffstat (limited to 'nrf-softdevice-macro')
-rw-r--r--nrf-softdevice-macro/src/lib.rs18
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
}
}