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