@@ -586,9 +586,10 @@ struct AdvertisingStartEvent {
586586 /* * Create an advertising start event.
587587 *
588588 * @param advHandle Advertising set handle.
589+ * @param status Advertising set start command status.
589590 */
590- AdvertisingStartEvent (advertising_handle_t advHandle) :
591- advHandle(advHandle)
591+ AdvertisingStartEvent (advertising_handle_t advHandle, ble_error_t status = BLE_ERROR_NONE ) :
592+ advHandle(advHandle), status(status)
592593 {
593594 }
594595
@@ -600,43 +601,12 @@ struct AdvertisingStartEvent {
600601 return advHandle;
601602 }
602603
603- private:
604- advertising_handle_t advHandle;
605- };
606-
607- /* *
608- * Event produced when an async advertising command fails.
609- *
610- * @see ble::Gap::EventHandler::onAdvertisingCommandFailed().
611- */
612- struct AdvertisingCommandFailedEvent {
613- #if !defined(DOXYGEN_ONLY)
614- /* * Create an extended advertising command failed event.
615- *
616- * @param advHandle Advertising set handle.
617- * @param status Error code.
618- */
619- AdvertisingCommandFailedEvent (
620- advertising_handle_t advHandle,
621- ble_error_t status
622- ) :
623- advHandle(advHandle),
624- status(status)
625- {
626- }
627-
628- #endif
629- /* * Get advertising handle. */
630- advertising_handle_t getAdvHandle () const
631- {
632- return advHandle;
633- }
634-
635- /* * Error code that caused the event. */
636- uint8_t getStatus () const
604+ /* * Get status of operation. */
605+ ble_error_t getStatus () const
637606 {
638607 return status;
639608 }
609+
640610private:
641611 advertising_handle_t advHandle;
642612 ble_error_t status;
@@ -648,7 +618,8 @@ struct AdvertisingCommandFailedEvent {
648618 * @see ble::Gap::EventHandler::onAdvertisingEnd().
649619 *
650620 * @note The connection handle, connected flag and completed_event fields are
651- * valid if the flag legacy is not set to true.
621+ * valid if the flag legacy is not set to true. If status is different from BLE_ERROR_NONE
622+ * the completed_events field is not valid and the set may still be active.
652623 */
653624struct AdvertisingEndEvent {
654625#if !defined(DOXYGEN_ONLY)
@@ -659,18 +630,21 @@ struct AdvertisingEndEvent {
659630 * @param connection Connection handle.
660631 * @param completed_events Number of events created during before advertising end.
661632 * @param connected True if connection has been established.
633+ * @param status Error code if stop command failed.
662634 */
663635 AdvertisingEndEvent (
664636 advertising_handle_t advHandle,
665637 connection_handle_t connection,
666638 uint8_t completed_events,
667- bool connected
639+ bool connected,
640+ ble_error_t status = BLE_ERROR_NONE
668641 ) :
669642 advHandle(advHandle),
670643 connection(connection),
671644 completed_events(completed_events),
672645 connected(connected),
673- legacy(false )
646+ legacy(false ),
647+ status(status)
674648 {
675649 }
676650
@@ -681,7 +655,8 @@ struct AdvertisingEndEvent {
681655 connection(),
682656 completed_events(0 ),
683657 connected(false ),
684- legacy(true )
658+ legacy(true ),
659+ status(BLE_ERROR_NONE)
685660 {
686661 }
687662
@@ -721,12 +696,20 @@ struct AdvertisingEndEvent {
721696 return legacy;
722697 }
723698
699+ /* * Get the result of the stop advertising event. If the status is not BLE_ERROR_NONE the set
700+ * may still be active. */
701+ ble_error_t getStatus () const
702+ {
703+ return status;
704+ }
705+
724706private:
725707 advertising_handle_t advHandle;
726708 connection_handle_t connection;
727709 uint8_t completed_events;
728710 bool connected;
729711 bool legacy;
712+ ble_error_t status;
730713};
731714
732715/* *
0 commit comments