1 // Copyright 2018 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef ASH_DETACHABLE_BASE_DETACHABLE_BASE_OBSERVER_H_ 6 #define ASH_DETACHABLE_BASE_DETACHABLE_BASE_OBSERVER_H_ 7 8 #include "ash/ash_export.h" 9 #include "ash/detachable_base/detachable_base_pairing_status.h" 10 11 namespace ash { 12 13 // Registered with DetachableBaseHandler to observe the detachable base status. 14 class ASH_EXPORT DetachableBaseObserver { 15 public: 16 virtual ~DetachableBaseObserver() = default; 17 18 // Called when the detachable base pairing status changes. For example when a 19 // new detachable base is paired, or when the current detachable base gets 20 // detached. 21 virtual void OnDetachableBasePairingStatusChanged( 22 DetachableBasePairingStatus status) = 0; 23 24 // Called when the state of whether the current detachable base requires a 25 // firmware update changes. 26 // |requires_update|: Whether the base currently requires a firmware update. 27 virtual void OnDetachableBaseRequiresUpdateChanged(bool requires_update) = 0; 28 }; 29 30 } // namespace ash 31 32 #endif // ASH_DETACHABLE_BASE_DETACHABLE_BASE_OBSERVER_H_ 33