Index: components/proximity_auth/ble/proximity_auth_ble_system.h |
diff --git a/components/proximity_auth/ble/proximity_auth_ble_system.h b/components/proximity_auth/ble/proximity_auth_ble_system.h |
index 29ba6623f1085ad8d1a89f2ef4693795b3f12154..607f4ce2c7e42d50b901631cf5cc0663fc229db7 100644 |
--- a/components/proximity_auth/ble/proximity_auth_ble_system.h |
+++ b/components/proximity_auth/ble/proximity_auth_ble_system.h |
@@ -7,23 +7,50 @@ |
#include "base/macros.h" |
#include "base/memory/scoped_ptr.h" |
+#include "components/proximity_auth/screenlock_bridge.h" |
-#include "components/proximity_auth/ble/bluetooth_low_energy_connection_finder.h" |
+namespace content { |
+class BrowserContext; |
+} |
+ |
+namespace device { |
+class BluetoothGattConnection; |
+} |
namespace proximity_auth { |
+class BluetoothLowEnergyConnectionFinder; |
+ |
// This is the main entry point to start Proximity Auth over Bluetooth Low |
// Energy. This is the underlying system for the Smart Lock features. It will |
// discover Bluetooth Low Energy phones and unlock the lock screen if the phone |
// passes an authorization and authentication protocol. |
-class ProximityAuthBleSystem { |
+class ProximityAuthBleSystem : public ScreenlockBridge::Observer { |
public: |
- ProximityAuthBleSystem(); |
- ~ProximityAuthBleSystem(); |
+ ProximityAuthBleSystem(ScreenlockBridge* screenlock_bridge, |
+ content::BrowserContext* browser_context); |
+ ~ProximityAuthBleSystem() override; |
+ |
+ // ScreenlockBridge::Observer: |
+ void OnScreenDidLock( |
+ ScreenlockBridge::LockHandler::ScreenType screen_type) override; |
+ void OnScreenDidUnlock( |
+ ScreenlockBridge::LockHandler::ScreenType screen_type) override; |
+ void OnFocusedUserChanged(const std::string& user_id) override; |
private: |
+ // Handler for a new connection found event. |
+ void OnConnectionFound( |
+ scoped_ptr<device::BluetoothGattConnection> connection); |
+ |
+ ScreenlockBridge* screenlock_bridge_; // Not owned. Must outlive this object. |
+ content::BrowserContext* |
+ browser_context_; // Not owned. Must outlive this object. |
+ |
scoped_ptr<BluetoothLowEnergyConnectionFinder> connection_finder_; |
+ base::WeakPtrFactory<ProximityAuthBleSystem> weak_ptr_factory_; |
+ |
DISALLOW_COPY_AND_ASSIGN(ProximityAuthBleSystem); |
}; |