@@ -586,9 +586,10 @@ struct AdvertisingStartEvent {
586
586
/* * Create an advertising start event.
587
587
*
588
588
* @param advHandle Advertising set handle.
589
+ * @param status Advertising set start command status.
589
590
*/
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)
592
593
{
593
594
}
594
595
@@ -600,43 +601,12 @@ struct AdvertisingStartEvent {
600
601
return advHandle;
601
602
}
602
603
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
637
606
{
638
607
return status;
639
608
}
609
+
640
610
private:
641
611
advertising_handle_t advHandle;
642
612
ble_error_t status;
@@ -648,7 +618,8 @@ struct AdvertisingCommandFailedEvent {
648
618
* @see ble::Gap::EventHandler::onAdvertisingEnd().
649
619
*
650
620
* @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.
652
623
*/
653
624
struct AdvertisingEndEvent {
654
625
#if !defined(DOXYGEN_ONLY)
@@ -659,18 +630,21 @@ struct AdvertisingEndEvent {
659
630
* @param connection Connection handle.
660
631
* @param completed_events Number of events created during before advertising end.
661
632
* @param connected True if connection has been established.
633
+ * @param status Error code if stop command failed.
662
634
*/
663
635
AdvertisingEndEvent (
664
636
advertising_handle_t advHandle,
665
637
connection_handle_t connection,
666
638
uint8_t completed_events,
667
- bool connected
639
+ bool connected,
640
+ ble_error_t status = BLE_ERROR_NONE
668
641
) :
669
642
advHandle(advHandle),
670
643
connection(connection),
671
644
completed_events(completed_events),
672
645
connected(connected),
673
- legacy(false )
646
+ legacy(false ),
647
+ status(status)
674
648
{
675
649
}
676
650
@@ -681,7 +655,8 @@ struct AdvertisingEndEvent {
681
655
connection(),
682
656
completed_events(0 ),
683
657
connected(false ),
684
- legacy(true )
658
+ legacy(true ),
659
+ status(BLE_ERROR_NONE)
685
660
{
686
661
}
687
662
@@ -721,12 +696,20 @@ struct AdvertisingEndEvent {
721
696
return legacy;
722
697
}
723
698
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
+
724
706
private:
725
707
advertising_handle_t advHandle;
726
708
connection_handle_t connection;
727
709
uint8_t completed_events;
728
710
bool connected;
729
711
bool legacy;
712
+ ble_error_t status;
730
713
};
731
714
732
715
/* *
0 commit comments