Home | History | Annotate | Download | only in ash
      1 // Copyright (c) 2012 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_CAPS_LOCK_DELEGATE_H_
      6 #define ASH_CAPS_LOCK_DELEGATE_H_
      7 
      8 #include "ash/ash_export.h"
      9 
     10 namespace ash {
     11 
     12 // Delegate for controlling Caps Lock.
     13 class ASH_EXPORT CapsLockDelegate {
     14  public:
     15   virtual ~CapsLockDelegate() {}
     16 
     17   // Returns true if caps lock is enabled.
     18   virtual bool IsCapsLockEnabled() const = 0;
     19 
     20   // Sets the caps lock state to |enabled|.
     21   // The state change can occur asynchronously and calling IsCapsLockEnabled
     22   // just after this may return the old state.
     23   virtual void SetCapsLockEnabled(bool enabled) = 0;
     24 
     25   // Toggles the caps lock state.
     26   // The state change can occur asynchronously and calling IsCapsLockEnabled
     27   // just after this may return the old state.
     28   virtual void ToggleCapsLock() = 0;
     29 };
     30 
     31 }  // namespace ash
     32 
     33 #endif  // ASH_CAPS_LOCK_DELEGATE_H_
     34