2020#ifndef MBED_GATT_SERVER_H__
2121#define MBED_GATT_SERVER_H__
2222
23+ #include " platform/mbed_toolchain.h"
24+
2325#include " ble/common/CallChainOfFunctionPointersWithContext.h"
2426#include " ble/common/blecommon.h"
2527
@@ -118,6 +120,84 @@ class GattServer {
118120 (void )connectionHandle;
119121 (void )attMtuSize;
120122 }
123+
124+ /* *
125+ * Function invoked when the server has sent data to a client as
126+ * part of a notification/indication.
127+ *
128+ * @note params has a temporary scope and should be copied by the
129+ * application if needed later
130+ */
131+ virtual void onDataSent (const GattDataSentCallbackParams ¶ms) {
132+ (void )params;
133+ }
134+
135+ /* *
136+ * Function invoked when a client writes an attribute
137+ *
138+ * @note params has a temporary scope and should be copied by the
139+ * application if needed later
140+ */
141+ virtual void onDataWritten (const GattWriteCallbackParams ¶ms) {
142+ (void )params;
143+ }
144+
145+ /* *
146+ * Function invoked when a client reads an attribute
147+ *
148+ * @note This functionality may not be available on all underlying stacks.
149+ * Application code may work around that limitation by monitoring read
150+ * requests instead of read events.
151+ *
152+ * @note params has a temporary scope and should be copied by the
153+ * application if needed later
154+ *
155+ * @see GattCharacteristic::setReadAuthorizationCallback()
156+ * @see isOnDataReadAvailable().
157+ */
158+ virtual void onDataRead (const GattReadCallbackParams ¶ms) {
159+ (void )params;
160+ }
161+
162+ /* *
163+ * Function invoked when the GattServer instance is about
164+ * to be shut down. This can result in a call to reset() or BLE::reset().
165+ */
166+ virtual void onShutdown (const GattServer &server) {
167+ (void )server;
168+ }
169+
170+ /* *
171+ * Function invoked when the client has subscribed to characteristic updates
172+ *
173+ * @note params has a temporary scope and should be copied by the
174+ * application if needed later
175+ */
176+ virtual void onUpdatesEnabled (const GattUpdatesEnabledCallbackParams ¶ms) {
177+ (void )params;
178+ }
179+
180+ /* *
181+ * Function invoked when the client has unsubscribed to characteristic updates
182+ *
183+ * @note params has a temporary scope and should be copied by the
184+ * application if needed later
185+ */
186+ virtual void onUpdatesDisabled (const GattUpdatesDisabledCallbackParams ¶ms) {
187+ (void )params;
188+ }
189+
190+ /* *
191+ * Function invoked when an ACK has been received for an
192+ * indication sent to the client.
193+ *
194+ * @note params has a temporary scope and should be copied by the
195+ * application if needed later
196+ */
197+ virtual void onConfirmationReceived (const GattConfirmationReceivedCallbackParams ¶ms) {
198+ (void )params;
199+ }
200+
121201 protected:
122202 /* *
123203 * Prevent polymorphic deletion and avoid unnecessary virtual destructor
@@ -407,6 +487,8 @@ class GattServer {
407487 * @note It is possible to chain together multiple onDataSent callbacks
408488 * (potentially from different modules of an application).
409489 */
490+ MBED_DEPRECATED_SINCE (" mbed-os-6.3.0" , " Individual callback-registering functions have"
491+ " been replaced by GattServer::setEventHandler. Use that function instead." )
410492 void onDataSent (const DataSentCallback_t &callback);
411493
412494 /* *
@@ -419,6 +501,8 @@ class GattServer {
419501 * function.
420502 */
421503 template <typename T>
504+ MBED_DEPRECATED_SINCE (" mbed-os-6.3.0" , " Individual callback-registering functions have"
505+ " been replaced by GattServer::setEventHandler. Use that function instead." )
422506 void onDataSent (T *objPtr, void (T::*memberPtr)(unsigned count))
423507 {
424508 onDataSent ({objPtr, memberPtr});
@@ -429,6 +513,8 @@ class GattServer {
429513 *
430514 * @return A reference to the DATA_SENT event callback chain.
431515 */
516+ MBED_DEPRECATED_SINCE (" mbed-os-6.3.0" , " Individual callback-registering functions have"
517+ " been replaced by GattServer::setEventHandler. Use that function instead." )
432518 DataSentCallbackChain_t &onDataSent ();
433519
434520 /* *
@@ -440,6 +526,8 @@ class GattServer {
440526 * @attention It is possible to set multiple event handlers. Registered
441527 * handlers may be removed with onDataWritten().detach(callback).
442528 */
529+ MBED_DEPRECATED_SINCE (" mbed-os-6.3.0" , " Individual callback-registering functions have"
530+ " been replaced by GattServer::setEventHandler. Use that function instead." )
443531 void onDataWritten (const DataWrittenCallback_t &callback);
444532
445533 /* *
@@ -452,6 +540,8 @@ class GattServer {
452540 * function.
453541 */
454542 template <typename T>
543+ MBED_DEPRECATED_SINCE (" mbed-os-6.3.0" , " Individual callback-registering functions have"
544+ " been replaced by GattServer::setEventHandler. Use that function instead." )
455545 void onDataWritten (
456546 T *objPtr,
457547 void (T::*memberPtr)(const GattWriteCallbackParams *context)
@@ -471,6 +561,8 @@ class GattServer {
471561 * @note It is possible to unregister callbacks using
472562 * onDataWritten().detach(callback).
473563 */
564+ MBED_DEPRECATED_SINCE (" mbed-os-6.3.0" , " Individual callback-registering functions have"
565+ " been replaced by GattServer::setEventHandler. Use that function instead." )
474566 DataWrittenCallbackChain_t &onDataWritten();
475567
476568 /* *
@@ -491,6 +583,8 @@ class GattServer {
491583 * @attention It is possible to set multiple event handlers. Registered
492584 * handlers may be removed with onDataRead().detach(callback).
493585 */
586+ MBED_DEPRECATED_SINCE (" mbed-os-6.3.0" , " Individual callback-registering functions have"
587+ " been replaced by GattServer::setEventHandler. Use that function instead." )
494588 ble_error_t onDataRead(const DataReadCallback_t &callback);
495589
496590 /* *
@@ -502,6 +596,8 @@ class GattServer {
502596 * function.
503597 */
504598 template <typename T>
599+ MBED_DEPRECATED_SINCE (" mbed-os-6.3.0" , " Individual callback-registering functions have"
600+ " been replaced by GattServer::setEventHandler. Use that function instead." )
505601 ble_error_t onDataRead(
506602 T *objPtr,
507603 void (T::*memberPtr)(const GattReadCallbackParams *context)
@@ -521,6 +617,8 @@ class GattServer {
521617 * @note It is possible to unregister callbacks using
522618 * onDataRead().detach(callback).
523619 */
620+ MBED_DEPRECATED_SINCE (" mbed-os-6.3.0" , " Individual callback-registering functions have"
621+ " been replaced by GattServer::setEventHandler. Use that function instead." )
524622 DataReadCallbackChain_t &onDataRead();
525623
526624 /* *
@@ -536,6 +634,8 @@ class GattServer {
536634 * @note It is possible to unregister a callback using
537635 * onShutdown().detach(callback)
538636 */
637+ MBED_DEPRECATED_SINCE (" mbed-os-6.3.0" , " Individual callback-registering functions have"
638+ " been replaced by GattServer::setEventHandler. Use that function instead." )
539639 void onShutdown(const GattServerShutdownCallback_t &callback);
540640
541641 /* *
@@ -550,6 +650,8 @@ class GattServer {
550650 * function.
551651 */
552652 template <typename T>
653+ MBED_DEPRECATED_SINCE (" mbed-os-6.3.0" , " Individual callback-registering functions have"
654+ " been replaced by GattServer::setEventHandler. Use that function instead." )
553655 void onShutdown(T *objPtr, void (T::*memberPtr)(const GattServer *))
554656 {
555657 onShutdown ({objPtr, memberPtr});
@@ -566,6 +668,8 @@ class GattServer {
566668 * @note It is possible to unregister callbacks using
567669 * onShutdown().detach(callback).
568670 */
671+ MBED_DEPRECATED_SINCE (" mbed-os-6.3.0" , " Individual callback-registering functions have"
672+ " been replaced by GattServer::setEventHandler. Use that function instead." )
569673 GattServerShutdownCallbackChain_t& onShutdown();
570674
571675 /* *
@@ -574,6 +678,8 @@ class GattServer {
574678 *
575679 * @param[in] callback Event handler being registered.
576680 */
681+ MBED_DEPRECATED_SINCE (" mbed-os-6.3.0" , " Individual callback-registering functions have"
682+ " been replaced by GattServer::setEventHandler. Use that function instead." )
577683 void onUpdatesEnabled(EventCallback_t callback);
578684
579685 /* *
@@ -582,6 +688,8 @@ class GattServer {
582688 *
583689 * @param[in] callback Event handler being registered.
584690 */
691+ MBED_DEPRECATED_SINCE (" mbed-os-6.3.0" , " Individual callback-registering functions have"
692+ " been replaced by GattServer::setEventHandler. Use that function instead." )
585693 void onUpdatesDisabled(EventCallback_t callback);
586694
587695 /* *
@@ -592,6 +700,8 @@ class GattServer {
592700 *
593701 * @param[in] callback Event handler being registered.
594702 */
703+ MBED_DEPRECATED_SINCE (" mbed-os-6.3.0" , " Individual callback-registering functions have"
704+ " been replaced by GattServer::setEventHandler. Use that function instead." )
595705 void onConfirmationReceived(EventCallback_t callback);
596706
597707#if !defined(DOXYGEN_ONLY)
0 commit comments