Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 38a3d707 authored by Sonny Sasaka's avatar Sonny Sasaka
Browse files

Floss: Define on_scan_result_lost API

This defines on_scan_result_lost callback, which is equivalent to
BlueZ's DeviceLost. This callback is triggered when an advertisement is
no longer fulfilling the criteria of MSFT filters.

Bug: 261482382
Tag: #floss
Test: Manual - Build Floss on Linux

Change-Id: Ie3788e938bf96db3f5b68a64cb5206e4abf8ca26
parent d3413067
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -327,6 +327,12 @@ impl IScannerCallback for ScannerCallback {
        }
    }

    fn on_scan_result_lost(&self, scan_result: ScanResult) {
        if self.context.lock().unwrap().active_scanner_ids.len() > 0 {
            print_info!("Scan result lost: {:#?}", scan_result);
        }
    }

    fn on_suspend_mode_change(&self, _suspend_mode: SuspendMode) {
        // No-op, not interesting for btclient.
    }
+5 −0
Original line number Diff line number Diff line
@@ -336,6 +336,11 @@ impl IScannerCallback for IScannerCallbackDBus {
        dbus_generated!()
    }

    #[dbus_method("OnScanResultLost")]
    fn on_scan_result_lost(&self, scan_result: ScanResult) {
        dbus_generated!()
    }

    #[dbus_method("OnSuspendModeChange")]
    fn on_suspend_mode_change(&self, suspend_mode: SuspendMode) {
        dbus_generated!()
+5 −0
Original line number Diff line number Diff line
@@ -169,6 +169,11 @@ impl IScannerCallback for ScannerCallbackDBus {
        dbus_generated!()
    }

    #[dbus_method("OnScanResultLost")]
    fn on_scan_result_lost(&self, scan_result: ScanResult) {
        dbus_generated!()
    }

    #[dbus_method("OnSuspendModeChange")]
    fn on_suspend_mode_change(&self, suspend_mode: SuspendMode) {
        dbus_generated!()
+4 −0
Original line number Diff line number Diff line
@@ -591,6 +591,10 @@ pub trait IScannerCallback: RPCProxy {
    /// requested to be filtered in.
    fn on_scan_result(&self, scan_result: ScanResult);

    /// When an LE advertisement matching aggregate filters is no longer detected. The criteria of
    /// how a device is considered lost is specified by ScanFilter.
    fn on_scan_result_lost(&self, scan_result: ScanResult);

    /// When LE Scan module changes suspend mode due to system suspend/resume.
    fn on_suspend_mode_change(&self, suspend_mode: SuspendMode);
}